java - 如何更改JavaFx的按钮使其看起来完全像这样?-LMLPHP

[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/

10-11 23:15
查看更多