[2]:以下是我到目前为止所做的一部分。似乎无法使它看起来像我所附的图片。
gp.getColumnConstraints().addAll(rc, rc1, rc2);
gp.setAlignment(Pos.TOP_CENTER);
gp.add(prev, 0, 0);
gp.add(search, 1, 0);
gp.add(next, 2, 0);
Button add = new Button("Add + ");
add.setPrefSize(75, 10);
add.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
if (!fNameFld.getText().toString().equals("")) {
Contact c = new Contact(fNameFld.getText().toString(), numF.getText().toString(),
emailf.getText().toString());
contact.add(c);
i = contact.indexOf(c);
System.out.println(i);
}
}
});
Button edit = new Button("Edit * ");
edit.setPrefSize(75, 10);
edit.setOnAction(new EventHandler<ActionEvent>() {
最佳答案
我不会为此使用GridPane。实际上,我敢肯定,仅GridPane不能满足您的要求。
您可以为每一行制作一个居中对齐的HBox,并将这些行放入单个VBox中:
Collection<HBox> buttonRows = Arrays.asList(
new HBox(6, previous, search, next),
new HBox(6, add, edit, remove),
new HBox(6, clear, quit));
buttonRows.forEach(hbox -> hbox.setAlignment(Pos.CENTER));
VBox buttonPane = new VBox(12);
buttonPane.getChildren().addAll(buttonRows);
您应该摆脱对
setPrefSize
的所有调用。您的按钮完全可以定义自己的大小。如果要给它们更大的内部边距,请设置其-fx-label-padding CSS属性。关于java - 如何更改JavaFx的按钮使其看起来完全像这样?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37169624/