gpt4 book ai didi

javafx-2 - JavaFX 2.0 : What do I have to do to react on a row selection change in a table?

转载 作者:行者123 更新时间:2023-12-02 21:46:29 26 4
gpt4 key购买 nike

我想做一件非常简单且常见的事情,但没有找到使用 JavaFX 来做到这一点的方法。我有一个包含两列的 TableView,并且希望在至少选择一行时启用一个按钮。如果没有选择任何行,我想再次禁用该按钮。

为此,我需要获得选择更改事件或类似的事件。不应该有可能在操作上设置 tableView 的 SelectionModel 或向其添加监听器吗?我必须做什么?

最佳答案

我认为您想要做的是将 ListChangeListener 添加到 TableView 选择模型上的选定索引中。它应该是这样的......

tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); // just in case you didnt already set the selection model to multiple selection.
tableView.getSelectionModel().getSelectedIndices().addListener(new ListChangeListener<Integer>()
{
@Override
public void onChanged(Change<? extends Integer> change)
{
if (change.getList().size() >= 2)
{
button.setDisable(false);
}
else
{
button.setDisable(true);
}
}

});

我原本打算建议将按钮的禁用属性绑定(bind)到 TableView 上大于 2 的选定索引属性大小,但似乎没有提供。如果您愿意,您可以创建自己的 SimpleIntegerProperty 并在列表更改监听器内更新它,将按钮的禁用属性绑定(bind)到大于 2 的 SimpleIntegerProperty 值。我希望这个答案有帮助!

关于javafx-2 - JavaFX 2.0 : What do I have to do to react on a row selection change in a table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13745404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com