构建JavaFX上下文菜单项时查找模型详细信息

时间:2015-11-14 01:17:27

标签: javafx javafx-8

this问题的后续行动。

我需要使用行模型中的一些内容构造一个MenuItem。

row.getItem()为null,因为行未在rowfactory回调中初始化。

有没有办法在填充行模型时推迟创建上下文菜单?

例如,如果行为String属性name =“foo”,则MenuItem应显示“Add foo”。

1 个答案:

答案 0 :(得分:1)

在我回答Determine a JavaFX table row details when reusing tableview context menu的情况下,你会做

table.setRowFactory(t -> {
    TableRow<Item> row = new TableRow<>();
    ContextMenu contextMenu = new ContextMenu();
    MenuItem item1 = new MenuItem();

    // ...

    row.itemProperty().addListener((obs, oldItem, newItem) -> {
        item1.setText(/* value depending on newItem... */);
    });

    // ...
}