当前位置: 首页 > 知识库问答 >
问题:

如何在TableView JavaFX的表列中添加两个按钮

陈欣荣
2023-03-14

我想在action TableColumn中添加两个按钮,我已经阅读了如何在JavaFX表格视图中添加按钮,以及如何在表格视图(JavaFX)中的单元格中添加按钮,但这两个按钮都在setGraphic中使用一个按钮,所以当我尝试使用:

actionFld.setCellFactory(param -> new TableCell<Patient, Patient>() {
    private final JFXButton editButton = new JFXButton("edit");
    private final JFXButton deleteButton = new JFXButton("delete");

    @Override
    protected void updateItem(Patient patient, boolean empty) {
        super.updateItem(patient, empty);

        if (patient == null) {
            setGraphic(null);
            return;
        }

        deleteButton.setOnAction(event -> {
            Patient getPatient = getTableView().getItems().get(getIndex());
            System.out.println(getPatient.getNom() + "   " + getPatient.getPrenom());
        });

        editButton.setOnAction(event -> {
            Patient getPatient = getTableView().getItems().get(getIndex());
            System.out.println(getPatient.getNom() + "   " + getPatient.getPrenom());
        });

        setGraphic(deleteButton);//<<<---------------add button 1
        setGraphic(editButton);//<<------------------add button 2
    }
});

它只显示了一个按钮:

我怎样才能解决这个问题?

共有1个答案

凌智
2023-03-14

您可以使用HBox将组件一个接一个地添加,例如:

HBox pane = new HBox(deleteButton, editButton);
setGraphic(pane);

结果:

如果你有别的办法,我会很高兴的!

 类似资料:
  • 问题内容: 条件:请勿修改原始清单;仅JDK,无外部库。一线或JDK 1.3版本的加分点。 有没有比以下更简单的方法: 问题答案: 你可以使用Apache commons-collections库:

  • 问题内容: 我一组有四个按钮。这只是两个示例,因为它们都是重复的代码。我想在每个按钮之间创建一个很小的空间,以免它们彼此碰到。我几乎尝试了中的所有方法,但没有任何效果。 问题答案: 如果要在组件之间留有空间,则可以为一个或两个组件添加一个空边框,或插入不可见的组件以提供空间。您可以在Box类的帮助下创建不可见的组件。 由于您已经使用过胶水,但没有成功(我怀疑为什么吗?),因此您可以尝试使用类似 R

  • 如何将Sencha按钮添加到列表的每一行?我在图像中添加了文本占位符,以说明按钮应该放在哪里。

  • 我在Google和Stackoverflow上搜索过这个,但我只是没有得到给定的示例。有人能给我解释一下吗? 我想在表视图的最后一列添加一个按钮,当它被单击时,它应该触发一个侦听器并传递buttons行的对象。我只是没有从gist中得到下面的例子。github。通用域名格式: 这是我的完整当前代码: 现在,我必须创建一个的部分是可以理解的。但是如何将其分配给列呢? 我明白这一点: 但不是这个:

  • 问题内容: 我正在尝试使用PHP将新列添加到我的MYSQL表中。我不确定如何更改表以创建新列。在我的评估表中,我有: 假设我有一个带有文本框的页面,然后输入文本框并按一个按钮,则表将更新为: 我的代码: 问题答案: 您的桌子: 你也可以