我在javafx和场景构建器中使用了noob。我想通过从组合框中选择一个项来填充tableview。有可能的?
我尝试使用String val = combobox.getValue()并将字符串放在prepareStatement中的SQL查询中以直接排序,但app停止在空字符串值且tableview未更新。
谢谢你们!
答案 0 :(得分:0)
即使在ComboBox获取输入之前,也可能使用ComboBox值初始化String。在这种情况下,ComboBox将返回一个空值。
您应该为ComboBox添加一个onAction事件,它将更新字符串。 您可以使用以下代码段来执行此操作
comboBox.setOnAction((event) -> {
val = comboBox.getValue();
//Any other action you want to carry out when an item of the combo box is selected
});
或者,如果您正在使用FXML文件并想在控制器中添加onAction
事件,则可以使用此功能。
public void comboBoxEvent(ActionEvent event){
val = comboBox.getValue();
} // Use this code when working with FXML files
这两个例子都假设String var是全局定义的。只是为了更安全,当你将var与另一个值进行比较或将其存储在其他地方时,你应该把它置于if条件下
if(var != null)
//Code segment here