Hi,
ich möchte mit einer For-Schleife eine bestimmte Anzahl (je nachdem was der Benutzer eingibt) JComboBoxen und ItemListener dazu erstellen.
Das ganze mache ich so:
Das Problem ist, das dass mit den ItemListener nicht so funktioniert wie ich mir das vorgestellt habe.
Die comboStart.getSelectedItem().toString() gibt mir immer nur den Wert der letzten ComboBox aus.
Also wenn ich etwas in der ersten, zweiten, ... ComboBox auswähle bekomme ich immer den Wert, der in der letzten ausgewählt ist und den Wert 10 zurück
Ich will aber natürlich den Wert der ComboBox haben, in der ich was geändert habe und auch das dazugehörige t
(dachte wenn der Listener mit t=3 erstellt wird, dann ist x auch 3 wenn ich diesen aufrufe)
Kann mir vll jemand helfen?
ich möchte mit einer For-Schleife eine bestimmte Anzahl (je nachdem was der Benutzer eingibt) JComboBoxen und ItemListener dazu erstellen.
Das ganze mache ich so:
Java:
public class test extends JPanel {
int t = 0;
JComboBox comboStart;
public JPanel hinzu() {
JPanel panel = new JPanel();
for (int i = 0; i < 10; i++) {
t = t + 1;
String[] titles = new String[3];
titles[0] = "A";
titles[1] = "B";
titles[2] = "C";
comboStart = new JComboBox(titles);
comboStart.setEditable(true);
comboStart.setPreferredSize(new Dimension(350, 25));
comboStart.setSelectedIndex(0);
comboStart.setMaximumRowCount(4);
comboStart.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
int x=t;
System.out.println(x);
System.out.println(comboStart.getSelectedItem().toString());
}
});
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(comboStart);
}
return panel;
}
}
Das Problem ist, das dass mit den ItemListener nicht so funktioniert wie ich mir das vorgestellt habe.
Die comboStart.getSelectedItem().toString() gibt mir immer nur den Wert der letzten ComboBox aus.
Also wenn ich etwas in der ersten, zweiten, ... ComboBox auswähle bekomme ich immer den Wert, der in der letzten ausgewählt ist und den Wert 10 zurück
Ich will aber natürlich den Wert der ComboBox haben, in der ich was geändert habe und auch das dazugehörige t
(dachte wenn der Listener mit t=3 erstellt wird, dann ist x auch 3 wenn ich diesen aufrufe)
Kann mir vll jemand helfen?