JavaFX ChoiceBox事件处理
我正在尝试检测JavaFX ChoiceBox事件处理,java,javafx,Java,Javafx,我正在尝试检测ChoiceBox项目选择。我读过,我知道可以这样做: choiceBoxObject.getSelectionModel().selectedIndexProperty().addListener(myChangeListenerObject) 我还在ChoiceBox类的文档中看到了这句话,它确认了上面的代码: ChoiceBox项目选择由SelectionModel处理,与ListView一样 和组合框 我想到了另一个解决方案,我想知道它有什么问题吗?为什么没人这么说?这两
ChoiceBox
项目选择。我读过,我知道可以这样做:
choiceBoxObject.getSelectionModel().selectedIndexProperty().addListener(myChangeListenerObject)
我还在ChoiceBox
类的文档中看到了这句话,它确认了上面的代码:
ChoiceBox项目选择由SelectionModel处理,与ListView一样
和组合框
我想到了另一个解决方案,我想知道它有什么问题吗?为什么没人这么说?这两种方法的区别是什么
choiceBoxObject.valueProperty().addListener(myChangeListenerObject);
使用
valueProperty
没有错,事实上,对于简单地响应所选值的更改来说,它可能是首选的解决方案
文档只是表明在项目选择的基础上有一个完整的SelectionModel
。这比简单地知道所选内容有更丰富的API:有selectNext()
、selectFirst()
方法等。因此,如果您需要以编程方式更改选择,可以使用丰富的API。正如文档中所指出的,您甚至可以用不同的实现替换选择模型,尽管这种情况可能(非常)少见