Ich habe eine Methode:
Mit dazugehörigem ItemListener:
Wenn ich die Applikation laufen lasse, habe ich neben dem String Produkte drei weitere Itemes in der ersten Combobox stehen. Wenn ich nun etwas auswähle bekomme ich durch den Listener jedesmal Index=0 und Item="" ausgegeben.
Was mache ich verkehrt?
Gruß Nico
Code:
public void showLevel(){
jComboBox[level] = new JComboBox();
jComboBox[level].setBounds(new java.awt.Rectangle(20,20+(level-1)*40,480,25));
jComboBox[level].setBackground(java.awt.SystemColor.white);
jPanelEast.add(jComboBox[level]);
jButtonNew[level] = new JButton();
jButtonNew[level].setBounds(new java.awt.Rectangle(505,20+(level-1)*40,60,25));
jButtonNew[level].setBackground(new java.awt.Color(150,150,200));
jButtonNew[level].setText("Neu");
jPanelEast.add(jButtonNew[level]);
jButtonDelete[level] = new JButton();
jButtonDelete[level].setBounds(new java.awt.Rectangle(570,20+(level-1)*40,60,25));
jButtonDelete[level].setBackground(new java.awt.Color(150,150,200));
jButtonDelete[level].setText("Löschen");
jPanelEast.add(jButtonDelete[level]);
Derby derby = new Derby();
derby.connect();
/* Syntax für showLevel: (Level des Parents, Id des Parents, Userlevel) */
derby.showLevel(level , parentId, 0);
derby.disconnect();
if (level == 1){
category = "";
jComboBox[level].addItem("Produkte");
} else {
jComboBox[level].addItem(category);
}
// category = ((ListeLevel)derby.liste.get(0)).getNext_category_german();
for (int i=0; i<(derby.liste.size()); i++) {
//for (int i=0; i<2; i++) {
jComboBox[level].addItem(((ListeLevel)derby.liste.get(i)).getKeyword_german());
}
jComboBox[level].addItemListener(this);
jPanelEast.validate();
jPanelEast.repaint();
}
Code:
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
showLevel();
System.out.println("Level: " + level);
System.out.println("Index: " + jComboBox[level].getSelectedIndex());
System.out.println("Item: " + jComboBox[level].getSelectedItem());
parentId=jComboBox[level].getSelectedIndex();
level++;
}
}
Was mache ich verkehrt?
Gruß Nico