2017-04-14 67 views
1

我正在嘗試使用JavaFX製作一個簡單的應用程序。Javafx Choicebox - 如何檢查是否選中/激活

我想創建一個Choicebox,當Choicebox被激活時 - 意味着如果選擇了任何值 - 我希望代碼進度。

這是工作:

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

爲什麼相反不行?編號: 我有兩種佈局。一個代表選擇框,一個代表一組複選框。我想完成的是複選框應該只在選擇框被激活/選擇一個值時出現。

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

你能爲我們提供的例子嗎? – ADS

+0

我做了編輯!希望它是有道理的。 – denUdvalgte

+0

是否確定在將其設置爲可見之後將重新繪製第二個佈局?你確定** if語句中的任何**代碼都不會運行嗎?嘗試添加日誌/彈出 – ADS

回答

0

試試這個:

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

作爲替代,你可以這樣做:

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

所以真棒!這正是我所期待的,謝謝!真棒代碼! – denUdvalgte