0

我有两个 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");
4

2 回答 2

2

有两种方法可以解决这个问题。第一个是有一个实现的类,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
  }
});
于 2012-12-21T21:45:18.630 回答
0

要扩展 unholysampler,一旦您开始ActionListener工作,您就可以使用lcCombo.getSelectedIndex()它来检查已选择的项目。

于 2012-12-21T22:15:34.300 回答