GridPane允许你创建一个二维网格来放置控件。每个控件都有固定的行和列位置。
GridPanegrid=newGridPane();grid.setGridLinesVisible(true);//显示网格线以便于调试GridPane.setConstraints(button1,0,0);2.VBoxVBox按照垂直方向堆叠控件,适合创建垂直布局。
VBoxvbox=newVBox();vbox.setSpacing(10);//设置控件之间的间距3.HBoxHBox按水平方向排列控件,适用于创建水平布局。
HBoxhbox=newHBox();hbox.setSpacing(10);HBox.setHgrow(button1,Priority.ALWAYS);//按需分配额外空间示例代码以下是一个简单的示例,展示了这三种布局管理器的使用:
importjavafx.application.Application;importjavafx.scene.Scene;importjavafx.scene.control.Button;importjavafx.scene.layout.GridPane;importjavafx.scene.layout.HBox;importjavafx.scene.layout.VBox;importjavafx.stage.Stage;publicclassLayoutExampleextendsApplication{publicstaticvoidmain(String[]args){launch(args);}@Overridepublicvoidstart(StageprimaryStage){Buttonbutton1=newButton("Button1");Buttonbutton2=newButton("Button2");Buttonbutton3=newButton("Button3");GridPanegrid=newGridPane();grid.add(button1,0,0);grid.add(button2,1,0);grid.add(button3,2,0);VBoxvbox=newVBox();vbox.getChildren().addAll(button1,button2,button3);vbox.setSpacing(10);HBoxhbox=newHBox();hbox.getChildren().addAll(button1,button2,button3);hbox.setSpacing(10);HBox.setHgrow(button1,Priority.ALWAYS);Scenescene=newScene(newVBox(grid,vbox,hbox),400,300);primaryStage.setScene(scene);primaryStage.show();}}通过理解并熟练掌握这些布局管理器,你可以更好地设计和构建JavaFX应用程序的用户界面,确保控件的布局既美观又功能强大。