3

我是使用 Netbeans 7.3.1 的 Java Fx 新手。我正在使用 Gridpane 试验新事物,我只想将 Gridpane 放置在窗口左上角以外的另一个位置。将网格窗格root.getChildren().add(gridpane);添加到最左上角窗口的一角..如何在不添加任何新子项或根目录的情况下将 Gridpane 放置在窗口的另一个位置!!我的根目录只是一个组,当前代码仅与菜单栏重叠网格窗格。我的完整代码是这个!!

public class Menu extends Application {

@Override
public void start(Stage primaryStage){
    Group root = new Group();
    Scene scene = new Scene(root, 300, 250);
    primaryStage.setTitle("Hello World!");
    MenuBar menuBar = new MenuBar();
    javafx.scene.control.Menu m = new javafx.scene.control.Menu("File");
    m.getItems().add(new MenuItem("New"));
    m.getItems().add(new SeparatorMenuItem());
    m.getItems().add(new MenuItem("Exit"));
    menuBar.getMenus().add(m);
    javafx.scene.control.Menu tools = new javafx.scene.control.Menu("Cameras");
    tools.getItems().add(CheckMenuItemBuilder.create()
    .text("Show Camera 1")
    .selected(false)
    .build());
    menuBar.getMenus().add(tools);
    root.getChildren().add(menuBar);
    GridPane gridpane = new GridPane();
    gridpane.setPadding(new Insets(5));
    gridpane.setHgap(5);
    gridpane.setVgap(5);
    Label fNameLbl = new Label("First Name");
    TextField fNameFld = new TextField();
    Label lNameLbl = new Label("First Name");
    TextField lNameFld = new TextField();
    Button saveButt = new Button("Save");
    // First name label
    GridPane.setHalignment(fNameLbl, HPos.RIGHT);
    gridpane.add(fNameLbl, 0, 0);
    // Last name label
    GridPane.setHalignment(lNameLbl, HPos.RIGHT);
    gridpane.add(lNameLbl, 0, 1);
    // First name field
    GridPane.setHalignment(fNameFld, HPos.LEFT);
    gridpane.add(fNameFld, 1, 0);
    // Last name field
    GridPane.setHalignment(lNameFld, HPos.LEFT);
    gridpane.add(lNameFld, 1, 1);
    // Save button
    GridPane.setHalignment(saveButt, HPos.RIGHT);
    gridpane.add(saveButt, 1, 2);
    root.getChildren().add(gridpane);
    primaryStage.setScene(scene);
    primaryStage.show();
}
4

2 回答 2

0

试试Scene Builder ...它用于设计 javafx 页面...

您可以根据需要设计所有页面。

于 2013-11-01T08:40:05.983 回答
0

我不确定它是否有效,但请尝试使用以下内容: grid.setAlignment(Pos.CENTER); 据我所知,中心可以替换为任何其他位置。我希望这会有所帮助。

于 2017-09-01T12:11:44.033 回答