2016-12-25 17 views
2
Iが異なるメソッドを呼び出すために選択された項目の値をテストする必要が

にリスナーを追加、私はリスナーを追加このコードを書くが、コードがJavaFXのコンボボックスは、選択された項目値

@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) 
    } 
    ); 
+0

try 'ObservableValue <? 「ObservableValue < String> composant」の代わりにString> composantを拡張します。 – Kachna

+0

参照してください。http://docs.oracle.com/javafx/2/api/javafx/2/api/javafx/beans/value/ChangeListener.html – Kachna

+0

それはそうで、より多くのエラーを生成します – devhicham

答えて

2

一つの解決策は、アクションリスナーを追加して他の人を助け願っている、エラーを検出しました(理想的にはシーンビルダから)コンボボックスに、次のように入力します。

private void comboAction(ActionEvent event) { 

    System.out.println(comboBox_DbTables.getValue()); 

} 
関連する問題