【Java】javafx界面布局
在JavaFX中,可以使用不同的布局容器来安排界面上的节点(如按钮、标签等)。以下是一些常用的布局容器:
AnchorPane
:允许将节点放置在屏幕的绝对位置,可以指定节点的上、下、左、右位置。BorderPane
:将区域划分为上、下、左、右、中五个区域。FlowPane
:自动排列其子节点,从左到右然后从上到下排列,类似HTML的流式布局。GridPane
:使用行和列的网格来组织子节点。HBox
:水平排列子节点。VBox
:垂直排列子节点。StackPane
:将每个子节点叠加在前一个子节点上面,类似CSS中的position: absolute
。
以下是一个简单的JavaFX界面布局示例,使用GridPane
来布局:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class JavaFXLayoutExample extends Application {
@Override
public void start(Stage primaryStage) {
// 创建GridPane布局
GridPane grid = new GridPane();
grid.setHgap(10); // 设置列间隔
grid.setVgap(10); // 设置行间隔
grid.setPadding(new Insets(20, 20, 20, 20)); // 设置四周的填充
// 创建按钮并添加到GridPane中
Button button1 = new Button("Button 1");
Button button2 = new Button("Button 2");
Button button3 = new Button("Button 3");
Button button4 = new Button("Button 4");
grid.add(button1, 0, 0); // 添加到第一行第一列
grid.add(button2, 1, 0); // 添加到第一行第二列
grid.add(button3, 0, 1); // 添加到第二行第一列
grid.add(button4, 1, 1); // 添加到第二行第二列
// 创建一个新场景并设置布局
Scene scene = new Scene(grid, 300, 200);
// 设置主窗口标题并添加场景
primaryStage.setTitle("JavaFX Layout Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
这段代码创建了一个包含4个按钮的界面,按钮被添加到GridPane
的网格中。GridPane
的add()
方法用于将节点放置在指定的行和列。运行这段代码会显示一个带有4个按钮的200x200像素大小的窗口。
评论已关闭