我有两个 JComboBox 和一个按钮。如果我从两个组合框中单独选择一个项目并按下名为“搜索”的按钮,我将尝试执行此操作。然后,从两个组合框中选择的两个项目将保存在一个新的两个单独的字符串中。
请任何人帮我解决这个问题。
这是代码片段
//here is the strings that in the combo box
String lc[] = {"Kolabagan-Dhaka", "Gabtoli-Dhaka", "Fakirapul-Dhaka", "Shaymoli-Dhaka"};
String rc[] = {"Banani-Bogra", "Rangpur","Shatrasta-Bogra"};
//here is my two jcombo box
JComboBox lcCombo = new JComboBox(lc);
JComboBox rcCombo = new JComboBox(rc);
// here is my search button
JButton searchButton = new JButton("Search");
最佳答案
有两种方法可以解决这个问题。第一个是拥有一个实现 ActionListener
的类,并在实现中检查源代码 (ActionEvent.getSource()
)。根据事件来源的组件,您可以采取适当的操作。
另一个选项(也是我的偏好)是为每个需要的组件创建一个 ActionListener。如果您不想为每种情况显式定义一个匿名类,则可以使用匿名类。这样每个监听器都准确地知道哪个组件导致了事件以及要采取什么操作。
示例:
JComboBox lcCombo = new JComboBox(lc);
lcCombo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
//do left stuff
}
});
JComboBox rcCombo = new JComboBox(rc);
rcCombo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
//do right stuff
}
});
关于java - 同一类中的多个 JComboBox 事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13997503/