Hi,
ich versteh es nicht...
Ich habe drei JComboBoxen in einem Array. Die habe ich mit DefaultComboBoxModellen gefüllt.
Die erste Stufe:
Man wählt in ComboBox0 einen Wert aus. itemStateChanged-Event wird ausgelöst. Im Eventhandler
befülle ich nun ComboBox1 und ComboBox2 mit denselben Werten aus einem Vector, aber mit zwei verschiedenen
DefaultComboBoxmodellen.
Jetzt wirdComboBox0 disables und ComboBox1 und ComboBox2 enabled.
Zweite Stufe:
Wählt man nun in ComboBox1 oder ComboBox2 einen Wert aus, so wird sowohl in ComboBox1 als auch in ComboBox2 der gleiche Wert angezeigt.
EDIT: Hmm, mein Problem kam mir irgendwie nicht richtig rüber.
Das Problem ist, das ich in ComboBox1 einen Wert auswählen können möchte, ohne das sich gleichzeitig in ComboBox2 derselbe Wert einstellt. Im Moment kann ich mir nicht erklären, warum das geschieht. Im Konstruktor der GUI-Klasse initialisiere ich die ComboBoxen mit den mit DefaultComboBoxModellen die ich mit Vectoren befülle.
Bei den beiden betroffenen ComboBoxen nehme ich zwar denselben Vector, aber verschiedene Modelle. Das muss doch gehen. Ändert man in ComboBox0 nun den Wert, indem man etwas anderes auswählt, wird der Event ausgelöst, indem ich wieder die zwei Modelle, diesmal mit anderen Vectoren befülle.
Warum nur ändern sich immer beide ComboBoxen?
Hier mal ein bisschen Code:
Ich hoffe jemand findet Zeit mir zu helfen
greetz
SLi
ich versteh es nicht...
Ich habe drei JComboBoxen in einem Array. Die habe ich mit DefaultComboBoxModellen gefüllt.
Die erste Stufe:
Man wählt in ComboBox0 einen Wert aus. itemStateChanged-Event wird ausgelöst. Im Eventhandler
befülle ich nun ComboBox1 und ComboBox2 mit denselben Werten aus einem Vector, aber mit zwei verschiedenen
DefaultComboBoxmodellen.
Jetzt wirdComboBox0 disables und ComboBox1 und ComboBox2 enabled.
Zweite Stufe:
Wählt man nun in ComboBox1 oder ComboBox2 einen Wert aus, so wird sowohl in ComboBox1 als auch in ComboBox2 der gleiche Wert angezeigt.
EDIT: Hmm, mein Problem kam mir irgendwie nicht richtig rüber.
Das Problem ist, das ich in ComboBox1 einen Wert auswählen können möchte, ohne das sich gleichzeitig in ComboBox2 derselbe Wert einstellt. Im Moment kann ich mir nicht erklären, warum das geschieht. Im Konstruktor der GUI-Klasse initialisiere ich die ComboBoxen mit den mit DefaultComboBoxModellen die ich mit Vectoren befülle.
Bei den beiden betroffenen ComboBoxen nehme ich zwar denselben Vector, aber verschiedene Modelle. Das muss doch gehen. Ändert man in ComboBox0 nun den Wert, indem man etwas anderes auswählt, wird der Event ausgelöst, indem ich wieder die zwei Modelle, diesmal mit anderen Vectoren befülle.
Warum nur ändern sich immer beide ComboBoxen?
Hier mal ein bisschen Code:
Code:
.
.
.
.
comboboxes = new JComboBox[3];
for (int i = 3; i < (comboboxes.length+3); i++)
{
int index = (i-3);
switch (index)
{
case 0: dcbm1 = new DefaultComboBoxModel(vecAutobahnen); comboboxes[index] = new JComboBox(dcbm1); break;
case 1: dcbm2 = new DefaultComboBoxModel(vecAbfahrten); comboboxes[index] = new JComboBox(dcbm2); comboboxes[index].setEnabled(false); break;
case 2: dcbm3 = new DefaultComboBoxModel(vecAbfahrten); comboboxes[index] = new JComboBox(dcbm3); comboboxes[index].setEnabled(false); break;
}
comboboxes[index].setEditable(false);
comboboxes[index].setPreferredSize(new Dimension(200,20));
comboboxes[index].setName("cb"+index);
if (index == 0)
{
comboboxes[index].addItemListener(this);
}
gbc = makegbc(1, i, 1, 1);
gbl.setConstraints(comboboxes[index], gbc);
cp.add(comboboxes[index]);
}
.
.
.
.
public void itemStateChanged(ItemEvent ie)
{
if (((JComboBox)ie.getSource()).getName().equals("cb0"))
{
DefaultComboBoxModel dcbm1 = (DefaultComboBoxModel)comboboxes[1].getModel();
Vector vec = new Vector();
vec = abfahrten.getAbfahrten(ie.getItem().toString());
dcbm1.removeAllElements();
for (int i = 0; i < vec.size(); i++)
{
dcbm1.addElement(vec.elementAt(i));
}
DefaultComboBoxModel dcbm2 = dcbm1;
comboboxes[2].setModel(dcbm2);
}
}
Ich hoffe jemand findet Zeit mir zu helfen
greetz
SLi