我试图创建一个javafx程序来显示一些文本框和按钮,但是每次添加文本框时,最终都会移动按钮。
GridPane pane = new GridPane();
pane.setAlignment(Pos.CENTER);
pane.setPadding(new Insets(11.5, 12.5, 13.5, 14.5));
pane.setHgap(6);
pane.setVgap(7);
pane.add(new Label("Text1:"), 0, 3);
pane.add(new TextField(), 1, 3);
pane.add(new TextField(), 1, 3, 1, 1);
pane.add(new Label("Text2:"), 2, 3);
pane.add(new TextField(), 3, 3);
pane.add(new Label("Text3:"), 4, 3);
pane.add(new TextField(), 5, 3);
Button bt1 = new Button("Button");
bt1.setMinSize(70, 0);
pane.add(bt1, 1, 4);
Button bt2 = new Button("Button");
bt2.setMinSize(70, 0);
pane.add(bt2, 2, 4);
Button bt3 = new Button("Button");
bt3.setMinSize(70, 0);
pane.add(bt3, 3, 4);
我希望文本框离标签更近,而按钮之间的间隔较小。
答案 0 :(得分:2)
GridPane
对齐同一行/列中的节点,并且(假设未使用行/列跨度,除了1之外)确保位于不同行/列中的节点不与节点范围垂直重叠/水平地。
您试图将Label
/ TextField
和Button
分别对齐,尽管这行不通,至少除非您使事情变得不必要地复杂,否则这至少是行得通的。
建议不要使用包含2个GridPane
的{{1}},而不要使用VBox
:
HBox