2016-09-22 24 views
0

Ich möchte ein Element aus einer ComboBox auswählen, die Namen zum Anzeigen von Element in ComboBox asnaf .. Ich habe es aber das Element erscheint zweimal, und wenn ich ein anderes Element von ComboBox Namen die auswählen andere Artikel anhängen auf dem vorherigen Artikel wie wie oben im Bild zu sehen ist .. und das ist mein CodeWie man zwei jcomboboxes verbindet, ohne die Werte zu wiederholen

public void agent_comboBoxA() { 
    try { 

     String sql = "select * from `trading`"; 
     myStmt = connection.prepareStatement(sql); 
     rs = myStmt.executeQuery(); 
     while (rs.next()) { 
      String agent = rs.getString("agent_name"); 
      names.addItem(agent); 

     } 

    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
} 

public void kind_comboBoxA() 
{ 
    String sql = "select kind from trading where agent_name = ?"; 


    try { 

     myStmt = connection.prepareStatement(sql); 
     myStmt.setString(1,String.valueOf(names.getSelectedItem())); 
     rs = myStmt.executeQuery(); 
     while (rs.next()) { 
      String kind = rs.getString("kind"); 
      asnaf.addItem(kind); 
     } 
    }catch (SQLException e) { 
     e.printStackTrace(); 
    } 
} 

public the defualt Constructor { 

     agent_comboBoxA(); 

     names.addItemListener(e -> { 
      kind_comboBoxA(); 
     }); 
    } 

this when repeat the same value

this when repeat the same value and the other value

+0

Ich kann Fehler hier sehen: 'public der defualt Konstruktor'. Oder nur eine Demonstration? –

+0

ja nur Demo @YoungMillie –

Antwort

3

die andere Elemente hängen an den vorherigen Elementen an

Bevor Sie beginnen, neue Elemente anzufügen, müssen Sie die alten Elemente entfernen.

Siehe die removeAllItems() Methode von der JComboBox API.

+0

Put removeAllItems() an welcher Stelle im Code? –

+0

@AbdelrahmanNashaat, hast du die erste Zeile meiner Antwort gelesen? – camickr

+0

okay, es hat funktioniert .. vielen Dank :) –

Verwandte Themen