terravotion
Erfahrenes Mitglied
Hallöchen
Wir haben in der Schule letzte Woche das MVC-Prinzip besprochen. Nun ich verstehe das nicht ganz und habe da was versucht umzusetzten:
Ich habe ein GUI mit einem Button, und wenn ich den Klicke ändert die Farbe des Textes und es wir die Anzahl Klicks angezeigt...
Das mit der Farbe wechseln ist kein Problem, aber sobald ich vom KLickListener aus die update() funktion im GUI aufrufe gibz den Fehler ganz unten =)
Nun weiss ich nicht weiter... Bitte helft mir =)
App
GUI
KlickListener
Fehler:
Wir haben in der Schule letzte Woche das MVC-Prinzip besprochen. Nun ich verstehe das nicht ganz und habe da was versucht umzusetzten:
Ich habe ein GUI mit einem Button, und wenn ich den Klicke ändert die Farbe des Textes und es wir die Anzahl Klicks angezeigt...
Das mit der Farbe wechseln ist kein Problem, aber sobald ich vom KLickListener aus die update() funktion im GUI aufrufe gibz den Fehler ganz unten =)
Nun weiss ich nicht weiter... Bitte helft mir =)
App
Code:
public class App {
public static void main(String[] args) {
KlickListener klicker = new KlickListener();
GUI g = new GUI(klicker);
}
}
GUI
Code:
public class GUI extends JFrame implements ActionListener{
public KlickListener klicker;
JButton knopf = new JButton("Anzahl Klicks: 0");
public GUI(KlickListener klicker) {
klicker.addListener(this);
add(knopf);
knopf.addActionListener(this);
knopf.addActionListener(new KlickListener());
setVisible(true);
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent arg0) {
if(knopf.getForeground() == Color.MAGENTA){
knopf.setForeground(Color.BLUE);
}
else {
knopf.setForeground(Color.MAGENTA);
}
}
public void update(){
System.out.println(klicker.getKlicks());
}
}
KlickListener
Code:
public class KlickListener implements ActionListener{
private int AnzKlicks = 0;
private GUI g;
public void actionPerformed(ActionEvent arg0) {
g.update();
}
public void addListener(GUI g){
this.g = g;
}
public int getKlicks(){
return AnzKlicks;
}
}
Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at KlickListener.actionPerformed(KlickListener.java:17)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)