我需要测试所选项目的值以调用不同的方法,因此我编写了添加侦听器的代码,但是该代码生成语法错误
@FXML
private JFXComboBox<String> cmbComp;
cmbComp.valueProperty().addListener(new ChangeListener<String>() {
public void changed(ObservableValue<String> composant, String oldValue, String newValue) throws SQLException {
if(/*test item value*/){
/*do something*/
}else{
/*do other thing*/
}
}
});
我也不需要旧值和新值,只需测试选定的值,如何传递参数?
我发现了错误,这是新代码,希望对其他人有所帮助
cmbComp.getSelectionModel().selectedItemProperty().addListener( (options, oldValue, newValue) -> {
System.out.println(newValue)
}
);
最佳答案
一种更简单明了并且避免一些额外代码行的解决方案是向组合框添加一个 Action 侦听器(理想情况下是来自场景构建器),如下所示:
private void comboAction(ActionEvent event) {
System.out.println(comboBox_DbTables.getValue());
}
关于javafx - javafx ComBobox在所选项目值上添加监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41323945/