Nullpointerexception (etwas mit thread und jframe)

V

vxvcvx 34

Gast
Wenn ich mein *program* laufen lasse kommt der nullpointer:
Java:
Exception in thread "main" java.lang.NullPointerException
	at Frame.<init>(Frame.java:43)
	at Frame.main(Frame.java:79)
ABER das program geht trotzdem und ist voll funktionsfähig(zeigt bilder an usw.)
meine haupklasse
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Frame extends JPanel implements KeyListener, Runnable, MouseListener{
	JFrame frame;
	
	Thread th;
	private stein stein;
	private grass grass;
	
	
	public Frame(int w, int h) {
		this.setPreferredSize(new Dimension(w, h));
		
		stein = new stein();
		grass = new grass();
		
		frame = new JFrame("Minecraft2D");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.add(this);
		frame.pack();
		
		frame.setResizable(false);
		addMouseListener(this);
		addKeyListener(this);
		frame.setVisible(true);
		frame.addKeyListener(this);
		
		frame.setLocation(200, 200);

		th.start();
		// frame.setVisible(true);

	}
    
	
	
	@Override
	public void run() {
		while(frame.isVisible()){
			//
			repaint();
			try
			{ 
				Thread.sleep(10);
			} catch (InterruptedException e){}
		}
		
	}

	public void paint(Graphics g) {
        super.paint(g);

        Graphics2D g2d = (Graphics2D)g;
        g2d.drawImage(stein.getImage(), stein.getX(), stein.getY(), this);
        g2d.drawImage(grass.getImage(), grass.getX(), grass.getY(), this);
        Toolkit.getDefaultToolkit().sync();
        g.dispose();
    }
	
	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Frame(500,500);
		
		
		

	}

	@Override
	public void mouseClicked(MouseEvent e) {
		if(e.getX()<133 && e.getX()>100 && e.getY()>470 && e.getY() < 510){
			System.out.println("stein klicked");
		}
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {

		
	}

	@Override
	public void mouseExited(MouseEvent arg0) {
	
		
	}

	@Override
	public void mousePressed(MouseEvent arg0) {
	
		
	}

	@Override
	public void mouseReleased(MouseEvent arg0) {
		
		
	}


	@Override
	public void keyPressed(KeyEvent e) {
		if (e.getKeyCode() == KeyEvent.VK_SPACE) {
			}

		}
		
	

	@Override
	public void keyReleased(KeyEvent arg0) {
		
		
	}

	@Override
	public void keyTyped(KeyEvent arg0) {
	
		
	}

}

meine stein klasse(grass ist GENAU das selbe einfach mit anderen angaben bei Y/X usw)
Java:
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;

import javax.swing.ImageIcon;

public class stein {

	private String stein = "images/stein.png";

	private static int hoehe=32;
	private static int breite=32;
	private static int x = 100;
	private static int y = 470;
	private static Image image;

	public stein() {
		ImageIcon icon = new ImageIcon(stein);

		image = icon.getImage();
	}

	public static int getX() {
		return x;
	}

	public static int getY() {
		return y;
	}

	public void setX(int i) {
		x = i;
	}

	public void setY(int i) {
		y = i;
	}

	public static Image getImage() {
		return image;
	}
}
falls ihr vorschläge zum code habt, bitte sagen da es mein erstes Spiel ohne tutorial ist
 
S

Spacerat

Gast
Da sind wohl ein paar (okay, es ist nur eine) Zeilen verutscht. In Zeile 42... wo instanzierst du bitte "th"? Mach' das mal... wirkt Wunder ;).
 

GUI-Programmer

Top Contributor
[EDIT]
War ein totaler Fail-Post. Ich hatte angenommen, dass deine Klasse von JFrame erbt. Daher niemals Klassen einen Namen geben, den es bereits schon gibt (nicht class Frame)! Vor allem wenn die Klasse dann nicht mal von Frame erbt, sondern von JPanel!
[/EDIT]
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
Du hast ausserdem eine Klasse Frame, die ja wie schon erkannt von JPanel erbt. Innerhalb des Konstruktors dieser Klasse erstellst du ein JFrame wo du dann this übergibst. Das frame wird gepackt und weiss der Geier was, bevor das Panel was du darauf legst fertig erzeugt ist. Das ist schonmal murks.

Das ganze frame-Gedöns innerhalb des Konstruktors wäre in der Main besser aufgehoben.
Da kannst du dann schreiben
Code:
frame.add(new MyPanel(....));
und alle anderen Methoden die dazu noch nötig sind. Deine Klasse dann lieber in MyPanel oder sonstiges umbenennen, dann siehst du auch selbst besser durch.

Ansonsten gilt das was Spacerat schon aufgezeigt hat.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 Nullpointerexception bei toArray() AWT, Swing, JavaFX & SWT 9
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Nullpointerexception wegen TableView AWT, Swing, JavaFX & SWT 2
ZH1896ZH JavaFX kann NullPointerException nicht auflösen... :( AWT, Swing, JavaFX & SWT 3
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
J NullPointerException bei getText() AWT, Swing, JavaFX & SWT 3
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
K JavaFX Pfad öffen NullPointerException AWT, Swing, JavaFX & SWT 4
H SWT NullPointerException bei Zugriff auf Variablen des Hauptfensters AWT, Swing, JavaFX & SWT 6
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
J JTable verursacht NullPointerException.Ratlos. AWT, Swing, JavaFX & SWT 5
C JButton NullPointerException AWT, Swing, JavaFX & SWT 2
Q getGraphics() - NullPointerException AWT, Swing, JavaFX & SWT 8
C NullPointerException im MVC Muster AWT, Swing, JavaFX & SWT 9
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
R NullPointerException AWT, Swing, JavaFX & SWT 16
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
C SWT NullPointerException AWT, Swing, JavaFX & SWT 12
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
B NullPointerException bei JFrame AWT, Swing, JavaFX & SWT 2
D JPanel / NullPointerException AWT, Swing, JavaFX & SWT 4
G LookAndFeel Dynamisches Einlesen von LookAndFeels - NullPointerException AWT, Swing, JavaFX & SWT 4
E Login wird durch NullPointerException abgebrochen AWT, Swing, JavaFX & SWT 10
K NullPointerException ohne CodeLink AWT, Swing, JavaFX & SWT 6
L NullPointerException JFreeChart AWT, Swing, JavaFX & SWT 10
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
H Swing NullPointerException in JTable bei vielen Einträgen AWT, Swing, JavaFX & SWT 2
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
X JList Probleme mit NullPointerException AWT, Swing, JavaFX & SWT 3
S NullPointerException bei Aufruf von updateUI() beim JFrame AWT, Swing, JavaFX & SWT 12
Z NullPointerException bei SplashScreen AWT, Swing, JavaFX & SWT 5
C NullPointerException bei Doppelpufferung AWT, Swing, JavaFX & SWT 3
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
K NullPointerException bei JTextField AWT, Swing, JavaFX & SWT 8
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
D javax.swing.Timer bringt NullPointerException AWT, Swing, JavaFX & SWT 4
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
A NullPointerException in einer JList AWT, Swing, JavaFX & SWT 7
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
A NullPointerException - warum? AWT, Swing, JavaFX & SWT 5
G NullPointerException bei Aufruf von JTabbedPane.getSelectedI AWT, Swing, JavaFX & SWT 7
G Problem mit NullPointerException AWT, Swing, JavaFX & SWT 11
M JTable verursacht NullPointerException AWT, Swing, JavaFX & SWT 8
M NullPointerException AWT, Swing, JavaFX & SWT 3
J NullPointerException bei getSelectedItem AWT, Swing, JavaFX & SWT 10
G Bekomme immer: NullPointerException AWT, Swing, JavaFX & SWT 2
berserkerdq2 Mein Rechteck hat 4 Seiten, ich soll je nach dem, welche Seite berührt wurde, etwas ausführen, wie prüfe ich das? AWT, Swing, JavaFX & SWT 12
W JavaFX CSS und Vererbung - ich brauche nochmal etwas Nachhilfe AWT, Swing, JavaFX & SWT 28
F Popup Menu etwas verschieben AWT, Swing, JavaFX & SWT 2
steven789hjk543 Swing Verstehe etwas beim GUI nicht AWT, Swing, JavaFX & SWT 3
W JavaFX Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.) AWT, Swing, JavaFX & SWT 30
D JavaFX Erkennen wenn eine Anwendung geschlossen wird und etwas tun? AWT, Swing, JavaFX & SWT 4
B Graphics -> Graphics2D etwas zu beachten? AWT, Swing, JavaFX & SWT 8
A Swing " comboboxes vergl. wenn aus der 1. etwas gewählt wurde ist, es in der 2. nicht mehr sichtbar AWT, Swing, JavaFX & SWT 9
B Etwas was nach jedem GUI 'click' ausgeführt wird AWT, Swing, JavaFX & SWT 6
J Zählen, wie oft etwas gezeichnet wird AWT, Swing, JavaFX & SWT 2
C Etwas durchsichtig machen über einem Panel AWT, Swing, JavaFX & SWT 7
M Dialog soll etwas an "Oberklasse" übergeben AWT, Swing, JavaFX & SWT 3
P Action Event abfangen etwas anders? AWT, Swing, JavaFX & SWT 2
E etwas anderer rahmen. AWT, Swing, JavaFX & SWT 2
F gibt etwas wie frames in html auch in java? AWT, Swing, JavaFX & SWT 19
T JLayerdPane: wie etwas über eine AWT Komponente zeichen? AWT, Swing, JavaFX & SWT 2
J Gui soll sich ändern wenn etwas passiert AWT, Swing, JavaFX & SWT 11
W aus JList etwas löschen AWT, Swing, JavaFX & SWT 9
P thread nimmt veränderte boolean nicht AWT, Swing, JavaFX & SWT 7
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22

Ähnliche Java Themen

Neue Themen


Oben