0

2 つの JComboBox と 1 つのボタンがあります。2 つのコンボ ボックスから項目を個別に選択し、検索というボタンを押すと、それを実行しようとしています。次に、2 つのコンボ ボックスから選択された 2 つの項目が、新しい 2 つの個別の文字列に保存されます。

誰でも問題を解決するのを手伝ってください。

ここにコードスニペットがあります

//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

これには 2 つの方法があります。1 つ目は、実装するクラスを 1 つ持ちActionListener、実装でソースを確認することです ( ActionEvent.getSource())。イベントのソースとなったコンポーネントに基づいて、適切なアクションを実行します。

もう 1 つのオプション (および私の好み) は、ActionListenerコンポーネントを必要とする for each コンポーネントを作成することです。ケースごとに明示的に定義したくない場合は、匿名クラスを使用できます。このようにして、各リスナーは、どのコンポーネントがイベントを引き起こし、どのようなアクションを実行すべきかを正確に認識します。

例:

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 に答える