javafx - javafx ComBobox在所选项目值上添加监听器

标签 javafx combobox

我需要测试所选项目的值以调用不同的方法,因此我编写了添加侦听器的代码,但是该代码生成语法错误

@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/

相关文章:

wpf - WPF 组合框下拉样式的替代方案

excel - 为 VBA 组合框创建动态范围

c# - 如何在 KeyDown 事件上打开组合框的下拉菜单(组合项)?

css - 如何设置 Gtk::ComboBox 的样式

java - EventHandler 不接受参数 - JavaFX

JavaFX 2D 变换矩阵的仿射变换

java - 警告 : Loading FXML document with JavaFX API of version 9 by JavaFX runtime of version 8. 0.131

java - 给出 0 到 15 之间的值,返回 4 CheckBoxes 之间的正确选择

JavaFX:单击时组合框单元格消失

java - 指向子菜单后的菜单 "stay hovered"