Hi Leute,
eins verstehe ich nicht. Folgendes Prob.:
(Das ist nur ein kleines Testprog.)
Hab 2 Pakete:
1. Paket "Mainklasse"
2. Paket "ItemEventKlasse"
Code zu Paket 1:
Code zu Paket 2:
Warum erhalte ich eine "nullPointerException", wenn ich in der JComboBox das zweite Element wähle? Das verstehe ich nicht. Wird denn die JComboBox[] nicht in der Klasse des ersten Paketes schon vorher initialisiert?
gruß nickname
eins verstehe ich nicht. Folgendes Prob.:
(Das ist nur ein kleines Testprog.)
Hab 2 Pakete:
1. Paket "Mainklasse"
2. Paket "ItemEventKlasse"
Code zu Paket 1:
Java:
public class Versuch extends JFrame{
private String[] stringButton = {"Close", "Save", "Delete All"};
JPanel mainPanel;
JTextField[] textField = null;
JComboBox cb = null;
public Versuch()
{
Container c = getContentPane();
mainPanel = new JPanel();
c.add(mainPanel);
showTextField();
zeige(textField);
mainPanel.add(showComboBox(stringButton));
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(640,330);
setVisible(true);
setLocationRelativeTo(null);
setResizable(false);
}
public void zeige(JTextField[] tf)
{
if(textField == null)
{
System.out.println("Das Array ist leer!");
}
else
{
for(int x = 0; x < tf.length; x++)
{
mainPanel.add(textField[x]);
}
}
}
public JTextField[] showTextField()
{
textField = new JTextField[2];
for(int x = 0; x < 2; x++)
{
textField[x] = new JTextField();
textField[x].setPreferredSize(new Dimension(130,23));
}
return textField;
}
public JComboBox showComboBox(String[] string)
{
cb = new JComboBox();
cb.addItemListener(new ItemListenerClass());//<--Hier wird der Fehler angezeigt
for(int x = 0; x < string.length; x++)
{
cb.addItem(string[x]);
}
return cb;
}
public String[] getStringArray()
{
return stringButton;
}
public static void main(String[] args)
{
Versuch frame = new Versuch();
}
}
Code zu Paket 2:
Java:
public class ItemListenerClass implements ItemListener{
JTextField[] d;
String[] str = null;
Versuch v;
public void itemStateChanged(ItemEvent ie)
{
JComboBox cb = (JComboBox)ie.getSource();
int i = cb.getSelectedIndex();
switch(i)
{
case 1: System.exit(0);
break;
case 2: textMethode2(v);//<-- Hier wird der Fehler angezeigt
System.out.println(str[1]);
}
}
public void textMethode2(Versuch v)
{
int i = v.getStringArray().length;//<-- im 1. Paket über der Main-Methode
for(int x = 0; x < i; x++)
{
str[x] = v.getStringArray()[x];
}
}
}
Warum erhalte ich eine "nullPointerException", wenn ich in der JComboBox das zweite Element wähle? Das verstehe ich nicht. Wird denn die JComboBox[] nicht in der Klasse des ersten Paketes schon vorher initialisiert?
gruß nickname