Java-Chapter 14 Java FX Basics

问题 1:什么是JavaFX?

答案
JavaFX是用于开发富互联网应用程序的框架,它完全取代了Swing和AWT。

解释
JavaFX是一个用于构建图形用户界面(GUI)应用程序的现代化框架。它提供了比Swing更丰富的用户界面组件,支持2D和3D图形、多媒体处理、Web视图以及更流畅的用户交互。JavaFX的目标是创建跨平台的应用程序,允许开发人员使用Java语言构建复杂的桌面和Web应用程序。


问题 2:JavaFX应用程序的入口类应该如何定义?

答案
JavaFX的主类必须继承javafx.application.Application并实现start方法。

解释
JavaFX应用程序的启动是通过继承Application类来实现的。Application类提供了一个start方法,该方法会在JavaFX应用程序启动时被自动调用。在start方法中,开发者通常会创建并显示一个舞台(Stage)以及场景(Scene),然后将其显示在屏幕上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class MyJavaFXApp extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Click Me");
Scene scene = new Scene(btn, 200, 100);
primaryStage.setTitle("JavaFX Example");
primaryStage.setScene(scene);
primaryStage.show();
}

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

问题 3:什么是Stage和Scene?

答案
在JavaFX中,Stage是显示窗口的类,Scene是包含用户界面元素的容器。

解释

  • Stage:表示一个顶层窗口,是JavaFX应用程序的主窗口。可以包含多个Scene,但是一个Stage只有一个可显示的Scene
  • Scene:表示一个舞台的内容,可以包含多个用户界面组件(节点)。每个Scene包含一个根节点,这个根节点通常是一个Pane或其他容器类型。

问题 4:什么是Pane?

答案
Pane是JavaFX中所有布局管理器的基类,它提供了一个容器,可以用来管理和组织其他节点。

解释
Pane本身并不提供任何布局功能,它只是一个容器,可以容纳不同类型的节点(例如:按钮、文本框、形状等)。通过getChildren()方法,可以将节点添加到Pane中。JavaFX中还有一些具体的Pane类型,如HBoxVBoxGridPane等,这些都是继承自Pane并提供了自动布局功能的容器。


问题 5:JavaFX中的HBox和VBox有何不同?

答案

  • HBox将其子节点水平排列。
  • VBox将其子节点垂直排列。

解释
HBoxVBox是JavaFX中常用的布局容器,分别用于水平和垂直排列子节点。它们能够自动调整子节点的大小和位置,帮助开发者快速构建用户界面。

  • HBox:将节点按行从左到右排列,通常用于水平布局。
  • VBox:将节点按列从上到下排列,通常用于垂直布局。

问题 6:如何将节点添加到Pane中?

答案
可以通过getChildren()方法获得ObservableList,并使用add()addAll()方法将节点添加到Pane中。

解释
在JavaFX中,Pane是一个容器,可以容纳其他节点。getChildren()方法返回一个ObservableList,你可以通过它向Pane添加子节点。例如:

1
2
3
Pane pane = new Pane();
Button btn = new Button("Click Me");
pane.getChildren().add(btn); // 添加单个节点

如果需要添加多个节点,可以使用addAll()方法:

1
pane.getChildren().addAll(btn, new TextField());

问题 7:什么是JavaFX中的Circle?

答案
Circle是JavaFX中的一个节点,用于绘制圆形。

解释
Circle是一个继承自Shape类的节点,用于在JavaFX界面中显示圆形。可以通过设置圆心坐标和半径来定义圆的大小和位置。例如:

1
Circle circle = new Circle(50, 50, 30); // 圆心(50, 50),半径30
  1. JavaFX 是用来开发富互联网应用程序的框架,取代了Swing和AWT。
  2. JavaFX应用程序的入口类必须继承Application类并实现start方法。
  3. Stage是显示窗口,Scene是包含界面元素的容器。
  4. Pane是所有布局管理器的基类,可以用作节点容器。
  5. HBoxVBox分别用于水平和垂直排列子节点。
  6. 节点可以通过ObservableList添加到Pane中。
  7. Circle是JavaFX中的圆形图形节点,可以通过设置坐标和半径绘制圆形。