JavaFX 为 GridPane 中的项目设置边距
JavaFX set margins for items in GridPane
我正在尝试获得更好的布局,为此我想 setMargin
将我的项目放在 GridPane
中。这是我尝试过的(仅针对第一个 idLabel, idTextField, nameLabel, nameTextField
进行测试):
private Pane createCenterPane() {
centerGridPane = new GridPane();
centerGridPane.add(createIdLabel(), 0, 0);
centerGridPane.add(createIdTextField(), 2, 0);
BorderPane.setMargin(idLabel, new Insets(10, 10, 10, 10));
BorderPane.setMargin(idTextField, new Insets(10, 10, 10, 10));
centerGridPane.add(createNameLabel(), 0, 1);
centerGridPane.add(createNameTextField(), 2, 1);
BorderPane.setMargin(nameLabel, new Insets(10, 10, 10, 10));
BorderPane.setMargin(nameTextField, new Insets(10, 10, 10, 10));
centerGridPane.add(createDescriptionLabel(), 0, 2);
centerGridPane.add(createDescriptionTextArea(), 2, 2);
centerGridPane.add(createSeverityLabel(), 0, 3);
centerGridPane.add(createSeverityComboBox(), 2, 3);
centerGridPane.add(createTypeLabel(), 0, 4);
centerGridPane.add(createTypeComboBox(), 2, 4);
centerGridPane.add(createDependencyLabel(), 0, 5);
centerGridPane.add(createDependencyListView(), 2, 5);
return centerGridPane;
}
createIdLabel
(其他createsX
工作类似):
private Label createIdLabel() {
return idLabel = new Label("Id:");
}
但是setMargin
什么也没做:
我希望“行”之间以及 label
和它旁边的项目之间有一些间距。
我对此很陌生,所以如果有任何不清楚的地方,请告诉我!乐于助人!
使用:
- 对于页边距,使用
GridPane.setMargin(node, insets)
而不是
BorderPane.setMargin(node, insets)
- 对于列之间的水平 space 使用
centerGridPane.setHgap(value)
- 对于垂直线之间的 space 使用
centerGridPane.setVgap(value)
我正在尝试获得更好的布局,为此我想 setMargin
将我的项目放在 GridPane
中。这是我尝试过的(仅针对第一个 idLabel, idTextField, nameLabel, nameTextField
进行测试):
private Pane createCenterPane() {
centerGridPane = new GridPane();
centerGridPane.add(createIdLabel(), 0, 0);
centerGridPane.add(createIdTextField(), 2, 0);
BorderPane.setMargin(idLabel, new Insets(10, 10, 10, 10));
BorderPane.setMargin(idTextField, new Insets(10, 10, 10, 10));
centerGridPane.add(createNameLabel(), 0, 1);
centerGridPane.add(createNameTextField(), 2, 1);
BorderPane.setMargin(nameLabel, new Insets(10, 10, 10, 10));
BorderPane.setMargin(nameTextField, new Insets(10, 10, 10, 10));
centerGridPane.add(createDescriptionLabel(), 0, 2);
centerGridPane.add(createDescriptionTextArea(), 2, 2);
centerGridPane.add(createSeverityLabel(), 0, 3);
centerGridPane.add(createSeverityComboBox(), 2, 3);
centerGridPane.add(createTypeLabel(), 0, 4);
centerGridPane.add(createTypeComboBox(), 2, 4);
centerGridPane.add(createDependencyLabel(), 0, 5);
centerGridPane.add(createDependencyListView(), 2, 5);
return centerGridPane;
}
createIdLabel
(其他createsX
工作类似):
private Label createIdLabel() {
return idLabel = new Label("Id:");
}
但是setMargin
什么也没做:
我希望“行”之间以及 label
和它旁边的项目之间有一些间距。
我对此很陌生,所以如果有任何不清楚的地方,请告诉我!乐于助人!
使用:
- 对于页边距,使用
GridPane.setMargin(node, insets)
而不是BorderPane.setMargin(node, insets)
- 对于列之间的水平 space 使用
centerGridPane.setHgap(value)
- 对于垂直线之间的 space 使用
centerGridPane.setVgap(value)