Hallo
Ich habe folgendes Problem. Ich will einfach per Mausklick die Bilder auf zwei Buttons austauschen. Ist nur ein Übungsprogramm. Aber irgendwie generiert setIcon nur einen Fehler. Vielleicht weiß jemand eine Lösung.
Die Zeilennummer stimmt nicht ganz, da ich überflüssige Zeilen weggelassen habe
Gruß René[/code]
Ich habe folgendes Problem. Ich will einfach per Mausklick die Bilder auf zwei Buttons austauschen. Ist nur ein Übungsprogramm. Aber irgendwie generiert setIcon nur einen Fehler. Vielleicht weiß jemand eine Lösung.
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at Demo1.actionPerformed(Demo1.java:123)
Die Zeilennummer stimmt nicht ganz, da ich überflüssige Zeilen weggelassen habe
Code:
public class Demo1 extends Applet implements ActionListener {
private static final long serialVersionUID = 8525852035110955399L;
String text;
JButton oneButton, twoButton;
Icon icon1, icon2;
public void init()
{ Image img1 = getImage(getCodeBase(),"image1.jpg");
Image img2 = getImage(getCodeBase(),"image2.jpg");
Icon icon1 = new ImageIcon(img1);
Icon icon2 = new ImageIcon(img2);
JButton oneButton = new JButton(icon1);
oneButton.setActionCommand("B1");
JButton twoButton = new JButton(icon2);
twoButton.setActionCommand("B2");
oneButton.setBounds(300,140,200,70);
twoButton.setBounds(300,220,200,70);
oneButton.addActionListener(this);
twoButton.addActionListener(this);
add(oneButton);
add(twoButton);
}
public void actionPerformed(ActionEvent ereignis){
text = ereignis.getActionCommand();
System.out.println (text);
if (text == "B1") {
oneButton.setIcon(icon2); <--------- Erzeugt Laufzeitfehler :(
twoButton.setIcon(icon1);
System.out.println ("Erster");
}
if (text == "B2")
{ oneButton.setIcon(icon1);
twoButton.setIcon(icon2);
System.out.println ("Zweiter");
}
}
}
Gruß René[/code]