4 gewinnt-Versuch + Probleme

Status
Nicht offen für weitere Antworten.

JFeel-x

Mitglied
Hallo, :)
ich versuche grade ein kleines 4-gewinnt Spiel zu schreiben ( - arbeite grade Quaxlis Tutorial durch - )
und bekomme das hier:
Exception in thread "main" java.lang.NullPointerException
at Spielfeld.paintKugel(Spielfeld.java:36)
at Main.main(Main.java:25)


Mir ist klar, das das was mit dem ImageArray zu tun hat, aber genau versteh ich das trotzdem nicht.

Ich liste einfach mal alles der reihe nach auf:

--1. Die Klasse Spielfeld
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;

import javax.swing.*;

public class Spielfeld extends JFrame implements paintable{
	
	Graphics2D g = (Graphics2D)getGraphics();	
	MediaTracker mt = new MediaTracker(this);
	 
	private static final long serialVersionUID = 1L;
	public static final long START_TIME = System.currentTimeMillis();
	
	public Spielfeld(Dimension d)
	{super("4 gewinnt");
	 setSize(d);
	 setResizable(false);
	 setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	public static long Game()// zur Errechnung der Spieldauer; kommt noch...
	{
	 return System.currentTimeMillis()-START_TIME;	
	}
	public void paintKugel(int imgX, int ImgY, Image... img)
	{
	 this.setBackGround();
	 
	 for( int i = 0; i < img.length; i++ )
	 mt.addImage(img[i], 0);
		 
	 try { mt.waitForAll(); } catch (InterruptedException e) {}	
	 for( int i = 0; i < img.length; i++ )
	 g.drawImage(img[i],imgX,ImgY,this);	
	}
	public void setBackGround()
 	{
    	Graphics2D g = (Graphics2D)getGraphics();
    	g.setColor(Color.white);
    	g.fillRect(0, 0, 10000, 10000);// Background
    	
    	g.setColor(Color.black);
    	g.drawRect(100, 100, 600, 400);   // Das eigentliche Spielfeld
    	
    	for(int i= 100, j=0; j < 5; i+=100,j++)// Horizontale Linien
    	g.drawLine(100+i,500, 100+i,100);
    	
    	for(int i= 80, j=0; j < 5; i+=80,j++)  //Vertikale Linien
        	g.drawLine(700,100+i, 100,100+i);
    	
  	}
}

--2.Die Klasse Kugel
Code:
import java.awt.Image;

public class Kugel{
	public static Image ballImage;
	private static String file="C:\\Programme\\Eclipse\\Workspace\\"+
	            "4 gewinnt\\src\\DATA\\Images\\";// ich hab jetzt auch eclipse :)
	
 public Image loadImage(String farbe,Spielfeld feld)
 {
 return	feld.getToolkit().getImage(file+farbe+".gif"); 
 }
}

--3.Die Klasse Main
Code:
import java.awt.Dimension;
import java.awt.Image;

import javax.swing.JFrame;

public class Main extends JFrame{
	
	private static final long serialVersionUID = 1L;
	static Main m = new Main();
	static int 
	breite = (int) m.getToolkit().getScreenSize().getSize().getWidth(),
	hoehe = (int) m.getToolkit().getScreenSize().getSize().getHeight();	
	
	public static void main(String[] args) {
	Dimension dim = new Dimension(breite,hoehe);
	
	Image img,img2;	
	Spielfeld sF = new Spielfeld(dim);
	sF.setVisible(true);
	sF.setAlwaysOnTop(true);
	
	Kugel ball = new Kugel();
	img  = ball.loadImage("rot",sF);
	img2 = ball.loadImage("blau",sF);
	sF.paintKugel( 240, 120, img, img2);
	
	
	}
	 
	
}

--und zuletzt 4. Das Interface Paintable
Code:
import java.awt.Image;

public interface paintable {
 public void paintKugel(int imgX, int ImgY,Image... img);
}

Ach ja, die Bilder haben beide eine Größe von 40*40 Pixel
Auch andere Tipps oder Verbesserungen nehm ich gern an :D

Danke im Voraus
 

Frank_H

Mitglied
Es steht doch alles was du brauchst in dem Fehler drin...

da hätten wir zum einen eine NullpointerException... und die Zeile in der sie Auftritt (Zeile 36 im Spielfeld)..... schau dir das mal an, das ist der Zugriff auf das Array.... da schiesst irgendein Array-Index über die Grenzen hinaus.... nun musst du nur noch rausfinden warum ;-)

Hilfe zur selbsthilfe ;-)
 
S

SlaterB

Gast
dann gäbe es ne ArrayIndexOutOfBoundsException,
und da die Schleife eh genau korrekt bis i < img.length läuft..

g ist null und das Problem ist einfach zu lösen: NIE getGraphics() aufrufen,
gezeichnet wird nur in überschriebenen paintComponent(Graphics g)-Methoden,
aufgerufen per repaint(),
wie in jedem Tutorial zu Zeichnen in Swing zu lesen,
alles andere endet für Anfänger zwangsläufig im Chaos
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
B Zusammenhängende Blöcke bei x-gewinnt erkennen? Java Basics - Anfänger-Themen 14
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
shiroX Methoden MinMax 4 Gewinnt Java Basics - Anfänger-Themen 2
K Methoden 4 Gewinnt checkDiagonal Methode Java Basics - Anfänger-Themen 10
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
M Erste Schritte KI für 4 Gewinnt Hilfe! Java Basics - Anfänger-Themen 5
H 3 Gewinnt, Fehler bei Neustart Java Basics - Anfänger-Themen 6
A Tic Tac Toe - Vier Gewinnt Java Basics - Anfänger-Themen 5
L 5 Gewinnt Array[][] probleme Java Basics - Anfänger-Themen 20
B 4 Gewinnt KI? Java Basics - Anfänger-Themen 9
E Weiteres Vier Gewinnt-Spiel Java Basics - Anfänger-Themen 2
J Reset Button im Spiel Vier gewinnt einrichten Java Basics - Anfänger-Themen 8
G boolean Methode Vier gewinnt Java Basics - Anfänger-Themen 6
B Problem mit Drei-Gewinnt-Spiel Java Basics - Anfänger-Themen 24
G Problem mit Array bei einem 4-Gewinnt Spiel Java Basics - Anfänger-Themen 2
A MiniMax- Algorithmus für 4-Gewinnt Java Basics - Anfänger-Themen 3
G Algorithmus im Spiel "vier gewinnt" Java Basics - Anfänger-Themen 3
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
O JavaFX XML Versuch Java Basics - Anfänger-Themen 2
P Erste Schritte Versuch Digital Uhr zu erstellen Java Basics - Anfänger-Themen 5
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
K Erster Versuch ein Hello World Projekt zu schreiben Java Basics - Anfänger-Themen 11
K Referenzen - 2ter Versuch Java Basics - Anfänger-Themen 17
C Java-Applet Versuch Java Basics - Anfänger-Themen 12
S Erster Versuch: Passwort erstellen Java Basics - Anfänger-Themen 3
ChackZz Java-Rätsel: Mein erster Versuch Java Basics - Anfänger-Themen 19
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
O Look and Feel - mein 1. Versuch Java Basics - Anfänger-Themen 7
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben