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

JavaFX 2:需要从TableView中的TableCell内部访问底层对象

池恩
2023-03-14

我有一个TableView,其基本项目是一个自定义类,即TableAdapter。我正在为TableCells在自定义单元格工厂中创建一个ContextMenu。在菜单项的EventHandler中,我需要访问由菜单显示的特定单元格表示的底层TableAdapter。如果我调用getItem()或getString(),它们似乎都返回对象的String表示形式,但是,我需要对象本身来访问其他字段。谢谢,

私有最终类cCustomTableCell扩展了TableCell{

    private ContextMenu menu = new ContextMenu();

    public cCustomTableCell(){
        MenuItem menuItem = new MenuItem("Show in tree");
        menu.getItems().add(menuItem);

        menuItem.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent actionEvent) {

//这是我需要访问基础对象的地方

            }
        });
        setContextMenu(menu);


    }

共有1个答案

微生德泽
2023-03-14

尝试定义泛型类型。例如:

public class CheckBoxTableCell<S> extends TableCell<S, Boolean> {}

在这种情况下,getItem()应该返回布尔值

 类似资料:
  • 我得到了一个问题,对内部类的局部变量访问需要声明为final。从方法createGrids()->“”中,i是一个需要声明为final的局部变量。我不知道为什么,我在字段中添加了final,但它并不起作用。 //略

  • 问题内容: 尝试在内部类内部使用一个类的本地成员时遇到此错误。我知道将其声明为final将解决此问题,但我读到Java 8应该自动处理它,因为我将Intellij与Java 8一起使用,但它仍然无法编译。还有其他方法可以在不将其声明为final的情况下进行修复吗?谢谢。 问题答案: 我知道将其声明为final将解决此问题,但我读到Java 8应该自动处理它。 如果变量 有效地为final ,则Ja

  • 希望我能把问题弄得尽可能清楚。我正在使用JavaFX库为GUI开发一个小型java应用程序。我正在做一个POP连接,并将消息存储为ObservableList。为此,我使用javax.mail。我将这个observablelist传递给一个tableview,并通过以下方式将所需的值传递给TableColumns: Subject和sentDate是完美的读入。但不幸的是,“from”将对象引用添

  • 我正在尝试创建一个布局为“是”或“否”的警报对话框。我想通过单击“否”按钮而不是对话框视图来关闭该对话框。Disclose() 有错误。 这是我的密码。

  • 我已经签出了答案,比如变量是在内部类中访问的。需要被宣布为最终,但它没有解决我想要的。 我正在使用GraphView绘制从Google Firebase检索到的数据。数据应该是如下所示的连续线: 但当我运行程序时,它却是这样进行的: 我应该做些什么来解决这个问题?任何形式的帮助都将不胜感激。谢谢!