2017-04-04 19 views
1

私は8つのコンボボックスを持っています...それに応じて1番目のコンボボックスはクライアントと残りの7つのコンボボックスです...クライアントコンボボックスからアイテムを選択すると、 Aのみに関連する値を取得し、残りのコンボボックスもAのみに関連する値を取得しますが、ここでクライアントからBを選択すると、Aに関連する項目はクリアでBの項目のみを取得する必要があります...既存の項目をクリアする方法?JComboboxで最後に選択した値を他のアイテムを選択するときにクリアします

public void actionPerformed(ActionEvent e) 
{ 
    try 
    { 
     String query="select distinct `User_Name`,`Purchaser_Name`,`Product1`,`User_boss`,`Purchaser_boss`,`Sales_Engineer`,`Sales_boss` from Client where Client_Name = ?"; 
     PreparedStatement pst=conn.prepareStatement(query); 
     pst.setString(1, (String) client.getSelectedItem()); 
     ResultSet rs=pst.executeQuery(); 

     while(rs.next()) 
     { 

      user.addItem(rs.getString("User_Name")); 
      user.setSelectedItem(null); 
      purchase.addItem(rs.getString("Purchaser_Name")); 

      prod.addItem(rs.getString("Product1")); 

      uboss.addItem(rs.getString("User_boss")); 

      pboss.addItem(rs.getString("Purchaser_boss")); 

      sengg.addItem(rs.getString("Sales_Engineer")); 

      sboss.addItem(rs.getString("Sales_boss")); 

//   System.out.println(query); 

     } 
//  System.out.println(query); 


    } 
    catch(Exception h) 
    { 
     h.printStackTrace(); 
    }  
} 
+0

コンボボックスの項目を選択するコードを投稿してください。 –

+0

ここで私はクライアントコンボボックスでのみ項目を選択しています...そして、パスバラベルのクライアントでは.... pst.setString(1、(String)client.getSelectedItem()); – Vsal

答えて

1

参照lastSelectedItemを作成できます。 選択するとActionEventが発生し、ActionListenerに送信されます。 リスナー呼び出し方法getSelectedItemJComboBoxの場合、lastSelectedItemに格納します。

コンボボックスで別のアイテムを選択すると、リスナーが再度起動され、lastSelectedItem参照を使用してjcombobox内で参照してクリアできます。

+0

ありがとうございました... – Vsal

+0

回答ありがとうございますが、これを説明するコードを投稿してください。それは非常に完全に役立つでしょう。私はどのように書くのか分からないのですか? – Vsal

+0

次はhttps://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#listenersです。 –

関連する問題