2017-04-14 5 views
1

JavaFXを使用して簡単なアプリケーションを作成しようとしています。Javafx Choicebox - 選択/有効化の確認方法

私はChoiceboxを作りたいと思っています.Choiceboxがアクティブになっているときは - 値が選択されていれば意味します - コードを進めたいです。

これが働いている:

if (choicebox.getSelectionModel().isEmpty()){ DO SOMETHING } 

なぜ反対が動作しませんか? :

if (! choicebox.getSelectionModel().isEmpty()){ DO SOMETHING } 

EDIT: 私は2つのレイアウトを持っています。 1つはchoiceboxを表し、1つはチェックボックスのセットを表します。私が達成したいのは、チェックボックスは、選択ボックスがアクティブになっているときにのみ表示されるべきであり、値が選択されるということです。

if (! choicebox.getSelectionModel().isEmpty()){ 
    secondLayout.setVisible(true); 
    } 
+0

はあなたが私たちの例を提供することができます:あなたが行うことができます別の方法として

ChoiceBox<String> cb = new ChoiceBox(....); secondLayout.visibleProperty().bind(Bindings.createBooleanBinding(() -> cb.getValue() != null, cb.valueProperty())); 

を? – ADS

+0

私は編集しました!それが理にかなってほしい。 – denUdvalgte

+0

2番目のレイアウトを表示後に再描画することは確実ですか? 'if'ステートメントの**コードが実行されないことを確かめますか?あなたのselectionModelにselectedItemがあるので、ログ/ポップアップ – ADS

答えて

0

これを試してみてください。

secondLayout.visibleProperty().bind(Bindings.isNotNull(cb.valueProperty())); 
+0

とても素晴らしい!!これはまさに私が探していたものです、ありがとう!素晴らしいコード! – denUdvalgte

関連する問題