2017-04-14 657 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

相关问题