【发布时间】:2014-04-08 14:28:49
【问题描述】:
当我尝试使用以下代码清除组合框时:
代码:
public class ComboController implements Initializable
{
@FXML
ComboBox firstcombobox=new ComboBox();
@FXML
ComboBox secondcombobox=new ComboBox();
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
firstcombobox.getItems().add("firabc");
firstcombobox.getItems().add("firbcd");
secondcombobox.getItems().add("seccde");
secondcombobox.getItems().add("secdef");
}
@FXML
public void firstcomboboxAction()
{
secondcombobox.getSelectionModel().clearSelection();
secondcombobox.getItems().clear();
System.out.println(firstcombobox.getSelectionModel().getSelectedItem());
}
public void secondcomboboxAction()
{
System.out.println(secondcombobox.getSelectionModel().getSelectedItem());
System.out.println("my name is vinay");
}
}
它会自动调用动作事件
首先我从第二个组合框中选择了“seccde” 然后我从第一个组合框中选择了“firabc”
我收到的输出是:
seccde
my name is vinay
null
my name is vinay
firabc
但它应该是:
seccde
my name is vinay
firabc [with an empty firstcombobox]
Fxml:
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="application.ComboController">
<ComboBox fx:id="firstcombobox" onAction="#firstcomboboxAction" >
<ComboBox fx:id="secondcombobox" onAction="#secondcomboboxAction" >
【问题讨论】:
-
你想要什么?它完美无缺!
-
我正在进行数据库搜索。当我尝试清除这些组合框时,它会自动调用其关联的操作,导致空指针错误,因为我已经删除了该搜索条件
-
先显示你的整个代码!!
-
secondcomboboxAction() 不应该被调用
-
但是如何调用这两种方法呢?你的 FXML 文件在哪里?
标签: java user-interface combobox javafx javafx-2