java swing selezione casella combinata e collegamento ad altre caselle combinate


Ecco lo scenario: ho una tabella nel database con 3 colonne (id, nome, età). Ho creato 3 combobox swing e un pulsante che invia una "istruzione select" al database e riempie i combobox con addItem(...).
Ora voglio sapere come collegare i combobox in modo tale che quando seleziono un valore da diciamo, il secondo combobox che recupera "nome", il valore "età" appropriato appare nella terza combobox.

Il mio ActionEvent per il pulsante:

 jComboBox1.addItem(search.getInt("ID"));
 jComboBox2.addItem(search.getString("NAME"));
 jComboBox3.addItem(search.getString("AGE")); 

** search è il ResultSet acquisisco!

Grazie in anticipo.

Author: Heisenbug, 2011-09-08

1 answers

È necessario implementare un ComboBoxModel personalizzato per tali operazioni.

Puoi inserire la logica delle tue scelte all'interno del metodo setSelectedItem:

public class YourComboBoxModel implements ComboBoxModel{
    public void setSelectedItem(Object anItem){

    }
    public Object getSelectedItem() {...}
    public Object getElementAt(int index){...} 
    public int getSize() {...}
}

E aggiungere il ComboBoxModel desiderato al relativo JComboBox:

YourComboBoxModel model = new YourComboBoxModel();
JComboBox box = new JComboBox();
box.setModel(model);
 3
Author: Heisenbug, 2011-09-08 17:09:34