Exception in thread "AWT-EventQueue-0" java.lang.N

Status
Nicht offen für weitere Antworten.

alife

Mitglied
Hallo. Ich habe einen Laufzeitfehler in meinem Programm, und weiß nicht warum. Ich habe schon andere Threads mit den gleichen Fehlern gesehen, konnte aber nicht herausfinden, was ich falsch gemacht habe.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Muehle.mouseClicked(Muehle.java:136)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(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)

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Muehle extends JFrame implements ActionListener, MouseListener{
  // Anfang Variablen
    /* Allgemein, Grafiken
    ***********************/
    myPanel jp = new myPanel();
    
    public static Image img_brett  = Toolkit.getDefaultToolkit().getImage("brett_1.png");
    public static Image img_icon   = Toolkit.getDefaultToolkit().getImage("icon.png");
    public static Image img_sw     = Toolkit.getDefaultToolkit().getImage("stein_schwarz.png");
    public static Image img_ws     = Toolkit.getDefaultToolkit().getImage("stein_weiss.png");
    public static Image img_marked = Toolkit.getDefaultToolkit().getImage("marked.png");
    
    /* Variablen zur Logik
    ***********************/
    public static Spielbrett spielbrett = new Spielbrett();
    public static Position [][] pos = {
                                    {new Position(15 ,15 ), new Position(220,15 ), new Position(425,15 ), new Position(425,220), new Position(425,425), new Position(220,425), new Position(15 ,425), new Position(15 ,220)},
                                    {new Position(75 ,75 ), new Position(220,75 ), new Position(365,75 ), new Position(365,220), new Position(365,365), new Position(220,365), new Position(75 ,365), new Position(75 ,220)},
                                    {new Position(135,135), new Position(220,135), new Position(305,135), new Position(305,220), new Position(305,305), new Position(220,305), new Position(135,305), new Position(135,220)}
                                   };



    /* Menü
    ****************/
    public JMenuBar   menuBar      = new JMenuBar();
    public JMenu      datei        = new JMenu("Datei");
    public JMenu      options      = new JMenu("Optionen");

    public JMenuItem  miNewConnect = new JMenuItem("Neu Verbinden");
    public JMenuItem  miClose      = new JMenuItem("Beenden");
    public JMenuItem  miNewStart   = new JMenuItem("Neu beginnen");

  // Ende Variablen

  public Muehle(String title) {
    // Frame-Initialisierung
    super(title);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); } });
    this.setIconImage(img_icon);
    setResizable(false);
    int frameWidth = 507;
    int frameHeight = 546;
    setSize(frameWidth, frameHeight);
    setLocationRelativeTo(null);
    Container cp = getContentPane();
    cp.setLayout(null);
    addMouseListener(this);
    // Anfang Komponenten
    /* Allgemeines
    ****************/
    cp.add(jp);
    jp.setLayout(null);
    jp.setBounds(0,0,500,500);
    /* Menü
    ****************/
    setJMenuBar(menuBar);
    //Positionieren der Elemente:
    menuBar.add(datei);
    menuBar.add(options);
    datei.add(miNewConnect);
    datei.addSeparator();
    datei.add(miClose);
    datei.setMnemonic('D');

    options.add(miNewStart);

    // Eigenschaften einstellen
    miNewConnect.setAccelerator(KeyStroke.getKeyStroke('C',KeyEvent.CTRL_MASK + KeyEvent.ALT_MASK));
    miNewConnect.setMnemonic('N');
    miClose.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,KeyEvent.ALT_MASK));
    miClose.setMnemonic('B');

    options.setMnemonic('O');
    miNewStart.setAccelerator(KeyStroke.getKeyStroke('N',KeyEvent.CTRL_MASK + KeyEvent.ALT_MASK));
    miNewStart.setMnemonic('N');
    // Aktionen zuweisen:

    miNewConnect.addActionListener(this);
    miClose.addActionListener(this);
    miNewStart.addActionListener(this);

    // Ende Komponenten

    setVisible(true);
  }

  // Anfang Ereignisprozeduren

  public void actionPerformed (ActionEvent e) {
    if(e.getActionCommand().equals("Beenden")){
     dispose();
    }

    System.out.println("Menüauswahl --> "
    + ((JMenuItem)e.getSource()).getActionCommand());
  }

  public void mouseClicked (MouseEvent e){
    Spielstein [][] temp= Muehle.spielbrett.getSpielsteine();
    for(int i=0; i<2; ++i){
      for(int j=0; j<9; ++i){
        int ring  = temp[i][j].getRing();                     //DAS HIER IST DIE ZEILE "136", IN DER DER FEHLER AUFTRITT!!
        int platz = temp[i][j].getPlatz();
        if(((int)e.getX() > (int)pos[ring][platz].getX()) && ((int)e.getX() < (int)pos[ring][platz].getX()+80) && ((int)e.getY() > (int)pos[ring][platz].getY()) && ((int)e.getY() < (int)pos[ring][platz].getY()+80)){
          System.out.println("Bla: Test fuer Spielbrett" );
        }
      }
    }
    //lbl_test.setText("        " + e.getX() + "|" + e.getY());
  }
  public void mouseEntered (MouseEvent e){}
  public void mouseExited  (MouseEvent e){}
  public void mousePressed (MouseEvent e){}
  public void mouseReleased(MouseEvent e){}
  // Ende Ereignisprozeduren

  public static void main(String[] args) {
    new Muehle("Mühle");
  }
}
class Position extends Point{
  private boolean markiert;
  public Position(int x, int y){
    super();
  }
  public boolean getMarkiert (){
    return this.markiert;
  }
  public void setMarkiert (boolean markiert){
    this.markiert = markiert;
  }
}
class myPanel extends JPanel{
   public void paint( Graphics g ) {
       g.drawImage (Muehle.img_brett, 0,0, 500, 500,this);     //Spielbrett laden
   }
}
class Spielbrett{
  private Spielstein [][] spielsteine;
  public Spielbrett (){
    Spielstein [][] spielsteine = new Spielstein [2][9];
  }
  public Spielstein[][] getSpielsteine(){
    return this.spielsteine;
  }
}
class Spielstein{
  private byte ring;      // siehe oben
  private byte platz;     // ----"-----
  private boolean farbe;  // 0 = weiß, 1 = schwarz
  private boolean gesetzt;
  
  public Spielstein(){
   this.ring = 0;
   this.platz = 0;
  }
  public Spielstein(byte ring, byte platz, boolean farbe){
    this.ring = ring;
    this.platz = platz;
    this.farbe = farbe;
    this.gesetzt = false;
  }
  public void setRing  (byte ring){
    this.ring = ring;
  }
  public void setPlatz (byte platz){
    this.platz = platz;
  }
  public void setFarbe (boolean farbe){
    this.farbe = farbe;
  }
  public void setGesetzt (boolean gesetzt){
    this.gesetzt = gesetzt;
  }
  public byte getRing (){
    return this.ring;
  }
  public byte getPlatz (){
    return this.platz;
  }
  public boolean getFarbe (){
    return this.farbe;
  }
  public boolean getGesetzt (){
    return this.gesetzt;
  }
}

Bitte helft mir den Fehler zu finden!

danke, alife
 

Bleiglanz

Gesperrter Benutzer
Code:
    Spielstein [][] temp= Muehle.spielbrett.getSpielsteine();
// ja und?
// oben hast du das static member auf new Spielbrett()
// gesetzt, aber ein solches objekt
// liefert bei getSpielsteine zwar ein doppeltesarray
// aber die einträge sind alle null


    for(int i=0; i<2; ++i){
      for(int j=0; j<9; ++i){
        int ring  = temp[i][j].getRing();                     //DAS HIER IST DIE ZEILE "136", IN DER DER FEHLER AUFTRITT!!
        int platz = temp[i][j].getPlatz(); 



class Spielbrett{
  private Spielstein [][] spielsteine;
  public Spielbrett (){
    Spielstein [][] spielsteine = new Spielstein [2][9];

 // hier doppelschleife um alle einzelnen mit new Spielstein() 
// zu erzeugen
  }
  public Spielstein[][] getSpielsteine(){
    return this.spielsteine;
  }
}
 

alife

Mitglied
Danke. Es gibt aber leider noch immer dasselbe aus.

die jetzige Klasse:
Code:
class Spielbrett{
  private Spielstein [][] spielsteine;
  public Spielbrett (){
    Spielstein [][] spielsteine = new Spielstein [2][9];
    
    for(int i=0; i<9; ++i){
      spielsteine [0][i] = new Spielstein(0,0,false);
    }
    for(int i=0; i<9; ++i){
      spielsteine [1][i] = new Spielstein(0,0,true);
    }
  }
  public Spielstein[][] getSpielsteine(){
    return this.spielsteine;
  }
}
 

Bleiglanz

Gesperrter Benutzer
private Spielstein [][] spielsteine;

// wird nicht benutzt, weil im konstruktor die private Variable durch eine Block-Variable verdeckt wird

=> schreib this.spielsteine = new... im Konstruktor
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
A Swing Exception in thread "AWT-EventQueue-0" AWT, Swing, JavaFX & SWT 1
X Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 AWT, Swing, JavaFX & SWT 6
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
S Swing Exception in thread "AWT-EventQueue-0" bei Jlabel AWT, Swing, JavaFX & SWT 4
C Event Handling Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException AWT, Swing, JavaFX & SWT 43
F Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: null AWT, Swing, JavaFX & SWT 5
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
Lony AbstractTableModel Exception in thread "AWT-EventQueue- AWT, Swing, JavaFX & SWT 3
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
G Exception javafx Thread -> caused by removing children while in EventHandler AWT, Swing, JavaFX & SWT 28
S JavaFX Exception in thread "JavaFX Application Thread" AWT, Swing, JavaFX & SWT 3
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
lumo SWT Exception in thread "main" org.eclipse.swt.SWTError: No more handles AWT, Swing, JavaFX & SWT 3
N Exception Behandlung mit setDefaultUncaughtExceptionHandler, insbesondere im EventDispatcher Thread AWT, Swing, JavaFX & SWT 4
M Exception Meldung aus Thread an jTextField1 übergeben AWT, Swing, JavaFX & SWT 6
H Exception: java.lang.ClassCastException AWT, Swing, JavaFX & SWT 2
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
beli3ver JavaFX Anwendung startet nicht, kann den Fehler nicht finden (Exception in Application start method) AWT, Swing, JavaFX & SWT 1
Z JavaFX Exception in Application start method AWT, Swing, JavaFX & SWT 2
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
R AWT no such child Exception AWT, Swing, JavaFX & SWT 7
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
W JavaFX Warum kriege ich eine Exception? AWT, Swing, JavaFX & SWT 23
L JavaFX JavaFX stürtzt durch einen Server#connect Exception AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
L Java FX Exception beim start AWT, Swing, JavaFX & SWT 2
J ObservableList wirft exception beim zweiten füllen. AWT, Swing, JavaFX & SWT 4
S java.fxml.load.exception und keine automatische Aktualliseriung der Mainausgabe AWT, Swing, JavaFX & SWT 5
VfL_Freak AWT Exception in der Eventqueue AWT, Swing, JavaFX & SWT 8
A Swing Null Pointer Exception obwohl Objekt initialisiert AWT, Swing, JavaFX & SWT 21
H JavaFX Ein View vorschalten Exception AWT, Swing, JavaFX & SWT 7
S NullPointer Exception beim Laden von Bildern AWT, Swing, JavaFX & SWT 11
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
M 3D-Grafik Mac Java 3D in Eclipse Exception AWT, Swing, JavaFX & SWT 0
I Opencv Imgproc.floodfill exception AWT, Swing, JavaFX & SWT 1
T Gui Exception AWT, Swing, JavaFX & SWT 2
X Auf Fensterklasse zugreifen (Nullpointer Exception) AWT, Swing, JavaFX & SWT 2
M Threads - nicht erklärbare Exception AWT, Swing, JavaFX & SWT 6
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
V Swing Nullpointer Exception bei JFormattedTextField AWT, Swing, JavaFX & SWT 4
N Swing Exception: Comparison method violates its general contract! AWT, Swing, JavaFX & SWT 13
S Exception bei BufferStrategy AWT, Swing, JavaFX & SWT 8
H Swing Exception's und MVC AWT, Swing, JavaFX & SWT 35
R Swing Mit Swing eine throws Exception Methode öffnen AWT, Swing, JavaFX & SWT 3
K AWT DataBuffer in DataBufferInt Exception AWT, Swing, JavaFX & SWT 2
S Swing AWT-Exception bei JTable mit JComboBox beim Löschen der letzten Zeile AWT, Swing, JavaFX & SWT 3
O Immer Exception in AWT-EventQueue-0 AWT, Swing, JavaFX & SWT 5
F Swing Seltsame Exception AWT, Swing, JavaFX & SWT 5
R Swing Files auflisten (JButton, JList, Exception) AWT, Swing, JavaFX & SWT 4
V LookAndFeel Nullpoint Exception AWT, Swing, JavaFX & SWT 2
Airwolf89 Swing Exception beim Füllen einer Tabelle AWT, Swing, JavaFX & SWT 10
hdi SWT Zwei mal Shell öffnen = Exception AWT, Swing, JavaFX & SWT 6
O Probleme beim Zeichnen und AWT-Event-Queue-0 Exception AWT, Swing, JavaFX & SWT 5
O Exception bei repaint AWT, Swing, JavaFX & SWT 3
D Bild zeichnen lassen aus array, null pointer Exception AWT, Swing, JavaFX & SWT 2
B JTable ValueChanged verursacht Exception AWT, Swing, JavaFX & SWT 3
Daniel_L JTable, (Auto-)RowSorter und NullPointer-Exception AWT, Swing, JavaFX & SWT 6
M Exception in eine JTextArea anzeigen AWT, Swing, JavaFX & SWT 7
T Exception: Adding a window to a container AWT, Swing, JavaFX & SWT 14
G Kann mir jemand diese Exception erklaeren? AWT, Swing, JavaFX & SWT 8
T AWT Exception AWT, Swing, JavaFX & SWT 5
A Exception beim LineWrapping AWT, Swing, JavaFX & SWT 16
P Für mich unverständliche Exception AWT, Swing, JavaFX & SWT 3
N JList - Nullpointer Exception AWT, Swing, JavaFX & SWT 4
T Warum schmeißt das eine Exception? AWT, Swing, JavaFX & SWT 6
I EventDispatchThread Exception AWT, Swing, JavaFX & SWT 5
M Problem: "ArrayIndexOutOfBounds Exception" AWT, Swing, JavaFX & SWT 11
C Out of Bounds Exception, Array of JTextField AWT, Swing, JavaFX & SWT 6
B JTable Vector Exception bei eigenem CellEditor AWT, Swing, JavaFX & SWT 3
D Seltsame AWT-Exception AWT, Swing, JavaFX & SWT 2
M Button und Exception mit NetBeans AWT, Swing, JavaFX & SWT 3
P paint null pointer exception AWT, Swing, JavaFX & SWT 3
A Null pointer exception beim Neuzeichnen AWT, Swing, JavaFX & SWT 4
R DataVector bei TableModel - Class Cast Exception AWT, Swing, JavaFX & SWT 9
G Drag & Drop bzw. Data Transfer - Exception nach Drag AWT, Swing, JavaFX & SWT 1
K Exception mit "Unknown Source" AWT, Swing, JavaFX & SWT 5
Z jar-File mit SWT - Exception AWT, Swing, JavaFX & SWT 4
F Habe Problem mit dem Abfangen einer Exception AWT, Swing, JavaFX & SWT 10
V Null Pointer Exception bei JTextField setText AWT, Swing, JavaFX & SWT 25
T Programm funkt. nicht - Exception AWT, Swing, JavaFX & SWT 7
G Exception in JList oder JTextArea AWT, Swing, JavaFX & SWT 9
M java headless exception AWT, Swing, JavaFX & SWT 5
O Exception abfangen AWT, Swing, JavaFX & SWT 19
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
M Server/Client thread von GUI Trennen AWT, Swing, JavaFX & SWT 2
K JavaFx, Sound Aufnahme und Thread AWT, Swing, JavaFX & SWT 0
H Event Handling Thread - Abruf der get-Methode AWT, Swing, JavaFX & SWT 5
G Thread starten Swing AWT, Swing, JavaFX & SWT 5
C Thread verwalten AWT, Swing, JavaFX & SWT 2
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
J Thread per Button starten AWT, Swing, JavaFX & SWT 10
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11

Ähnliche Java Themen

Neue Themen


Oben