📜  JavaFX UI控件(1)

📅  最后修改于: 2023-12-03 15:01:36.027000             🧑  作者: Mango

JavaFX UI控件

JavaFX是一个功能强大的图形界面工具包,它的UI控件库提供了丰富的图形界面控件来构建各种应用程序的用户界面。JavaFX提供的UI控件具有良好的可重用性和可扩展性,且功能强大,支持对控件样式(CSS)进行定制和控制。

常用的UI控件

JavaFX UI控件库提供了很多控件,这里列举了常用的一些:

  • Label(标签):用于文本展示
  • Button(按钮):用于用户交互
  • TextField(文本框):用于用户输入
  • CheckBox(复选框):用于多选
  • RadioButton(单选按钮):用于单选
  • ComboBox(下拉框):用于从下拉列表选择
  • ListView(列表):用于展示列表数据
  • TableView(表格):用于展示表格数据
  • TreeView(树形列表):用于展示树形数据
  • DatePicker(日期选择器):用于选择日期
  • WebView(Web视图):用于展示Web页面
  • ImageView(图片展示):用于展示图片
控件使用示例

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(event -> System.out.println("Hello World!"));

        StackPane root = new StackPane();
        root.getChildren().add(btn);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

以上是一个简单的JavaFX应用程序示例,其中使用了Button(按钮)和StackPane(栈式布局)两个控件,通过lambda表达式设定按钮点击事件,在控制台输出"Hello World!"。

控件样式定制

JavaFX控件库提供了丰富的样式(CSS)属性来定制控件外观,你可以通过CSS来更改控件的字体、颜色、背景、等效果。下面是一个使用CSS样式定制按钮的示例:


import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(event -> System.out.println("Hello World!"));
        btn.setStyle("-fx-background-color: #336699; -fx-text-fill: white; -fx-font-weight: bold;");

        StackPane root = new StackPane();
        root.getChildren().add(btn);

        Scene scene = new Scene(root, 300, 250);

        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在这个示例程序中,我们通过btn.setStyle()方法来更改按钮的背景色、字体颜色和字体加粗效果。

总结

JavaFX UI控件库是一个功能强大的工具包,它提供了丰富的UI控件来帮助程序员更快速、更容易地构建GUI应用程序。除此之外,JavaFX控件库还提供了丰富的样式(CSS)属性来定制控件外观,让程序设计师可以根据不同的需求和目标来定制UI界面。