Hallo liebe Community
Ich feile gerade an meiner Objektorientierten Programmierung. Ich will nämlich langsam kompliziertere Projekte in Angriff nehmen, muss mir dabei aber erst mal mit versch. Konzepten vertraut machen. Das folgende Programm funktioniert nicht, kann mir jemand helfen?
Fehlermeldung:
run:
Exception in thread "main" java.lang.NullPointerException
at gui.view.init(view.java:32)
at gui.view.<init>(view.java:25)
at gui.Main.main(Main.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
Habt ihr eine Idee? Wäre sehr freundlich...
PS: Das Programm beinhaltet einen Knopp und einen Label, auf druch des Knopfes soll das Label durch eine Zufallzzahl beschriftet werden. Da passiert aber nichts. Nun weiss ich nicht obs am Model liegt (sprich an der OOB) oder an den Eventmethoden...da ist eig. das Problem...
edit: das View.init() in der Main class kann man weglassen..doppelt gemoppelt...
Ich feile gerade an meiner Objektorientierten Programmierung. Ich will nämlich langsam kompliziertere Projekte in Angriff nehmen, muss mir dabei aber erst mal mit versch. Konzepten vertraut machen. Das folgende Programm funktioniert nicht, kann mir jemand helfen?
Java:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Model model = new Model();
String title = "Title String";
view View = new view (model, title);
View.init();
}
}
Java:
import java.awt.* ;
import javax.swing.* ;
import java.awt.event.* ;
/**
*
* @author XX
*/
public class view extends JFrame {
private Model model;
private Controller controller;
protected JLabel field1;
protected JButton button;
public view (Model m, String s) {
super(s);
this.model = m;
this.init();
}
public void init() {
controller = new Controller (this, model);
setLayout ( new FlowLayout() );
field1 = new JLabel("HUHU");
button.addMouseListener(controller);
add(field1);
button = new JButton ( "Click to show random number" );
add (button);
addWindowListener (controller);
setSize (300, 200);
setVisible (true);
}
}
Java:
public class Model {
private int puffer;
private Random generator = new Random( 19580427 );
private int[]data = new int [10];
public void generateNumbers () {
for (int i = 0 ; data.length < 10; i ++ ){
data[i]=(int)(Math.random()*10);
}
}
public void setNumber (int i, int value) {
i = puffer;
data[i] = value;
}
public int getNumber(int i) {
return data[i];
}
}
Java:
import java.awt.* ;
import java.awt.event.* ;
/**
*
* @author XXX
*/
public class Controller
implements MouseListener, WindowListener {
private Model model;
private view view;
public Controller (view v, Model m) {
this.view = v;
this.model = m;
}
public void mouseClicked (MouseEvent e) {
String s = String.valueOf(model.getNumber(2));
view.field1.setText(s);
}
public void mouseExited (MouseEvent e) {
}
public void mouseEntered (MouseEvent e) {
}
public void mouseReleased (MouseEvent e) {
}
public void mousePressed (MouseEvent e) {
String s = String.valueOf(model.getNumber(2));
view.field1.setText(s);
}
public void windowClosing (WindowEvent e) {
view.dispose();
System.exit(0);
}
public void windowClosed (WindowEvent e) { }
public void windowOpened (WindowEvent e) { }
public void windowIconified (WindowEvent e) { }
public void windowDeiconified (WindowEvent e) { }
public void windowActivated (WindowEvent e) { }
public void windowDeactivated (WindowEvent e) { }
}
Fehlermeldung:
run:
Exception in thread "main" java.lang.NullPointerException
at gui.view.init(view.java:32)
at gui.view.<init>(view.java:25)
at gui.Main.main(Main.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
Habt ihr eine Idee? Wäre sehr freundlich...
PS: Das Programm beinhaltet einen Knopp und einen Label, auf druch des Knopfes soll das Label durch eine Zufallzzahl beschriftet werden. Da passiert aber nichts. Nun weiss ich nicht obs am Model liegt (sprich an der OOB) oder an den Eventmethoden...da ist eig. das Problem...
edit: das View.init() in der Main class kann man weglassen..doppelt gemoppelt...
Zuletzt bearbeitet: