gpt4 book ai didi

java - 用于在 JavaFx ListView 中进行多项选择的事件监听器

转载 作者:行者123 更新时间:2023-12-01 17:53:59 33 4
gpt4 key购买 nike

我的代码中有一个 JavaFX ListView ,可以选择多个项目。我已经弄清楚选择某个项目时需要使用哪个事件监听器,但当我取消选择某个项目时并不总是触发该监听器。所以我的问题是,是否有一个事件监听器用于选择和取消选择项目?

这是我当前正在使用的事件监听器:

lvLijst.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue)
{
//code
}
});

提前致谢。

最佳答案

您需要收听所选项目的列表,而不是单个所选项目。当您启用多项选择时,selectedItemProperty() 将始终引用选择多个项目时选择的最后一个(及时)项目。当列表更改时,此属性并不总是会更改 - 特别是如果您取消选择除最后一项之外的任何项目,因此您的监听器不会收到列表的每次更改的通知。

相反,这样做

lvLijst.getSelectionModel().getSelectedItems().addListener((Change<? extends String> c) -> {
// code ...
});

关于java - 用于在 JavaFx ListView 中进行多项选择的事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60750689/

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