2017-12-22 21 views
0

javafxのコンボボックスにリスナーを追加しようとしています。ここ
は私のコンボボックスのコードです:コンボボックスのJavaにリスナーを追加するには

ObservableList<String> options = 
     FXCollections.observableArrayList(
       "Option1", 
       "Option2", 
       "Option3", 
       "Option4" 
     ); 

final ComboBox comboBox; 

public ComboBox getComboBox() { 
    return comboBox; 
} 

public ComboBoxStatus() { 
    this.comboBox = new ComboBox(options); 
    comboBox.setValue("option1"); 
} 

と私のような何か追加したい:何かが関数を呼び出すと、私の上に見られるようにかなった

を行うOPTION2するオプション1のように変更された時はいつでも
を既定値をoption1に追加しました。だから私は現在値を変更するときに関数を呼びたいと思っています。これはデフォルト値としてoption1です。 option2

私のメインプログラムではwhileループがあり、私のコンボボックスから現在選択されている値を読みたいと思います。

現在選択されている値を読み取るにはどうすればよいですか?

+0

のようなものを試してみてください:。 'comboBox.valueProperty()のaddListener((観測可能な、OLDVALUE、newValueに) - > {doSomethingの();});' – DVarga

+0

ありがとう、これは私のために働いた! –

答えて

0

あなたは値の変更を聞くことができ、この

 fComboBoxDefault.valueProperty().addListener(new ChangeListener() { 
      @SuppressWarnings("rawtypes") 
      @Override 
      public void changed(ObservableValue ov, Object arg1, 
        Object arg2) { 

        // Do Something ... 

       } 
      }  
     }); 
+0

ありがとうございました!このソリューションとDVargeの違いを教えてください(上のコメントを参照) –

+0

実際には同じです。 –

関連する問題