Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing)

uuqfowehui23

Aktives Mitglied
Java:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;


    public class Aufgabe_4 extends JFrame {
        private final int M = 5, N = 6;     // Anzahl der Zeilen bzw. Spalten
        private final int w = 50;     // Breite der Schaltflächen fuer die LEDs

        private LEDButton[][] leds;   // Matrix mit den LEDs (Schaltflaechen)
        private JPanel ledPanel = new JPanel();      // Panel mit LED Buttons
        private JPanel controlPanel = new JPanel();  // Panel mit Reset Button
        private int[][] initConfig;                  // speichert LEDD Positionen
                                                     // in F
                                                     //

        public Aufgabe_4(){
        super("Licht aus!!!");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.ledPanel.setPreferredSize(new Dimension(N*w,M*w));
        this.initLEDPanel();
        this.getContentPane().add(ledPanel,BorderLayout.CENTER);
            this.initControlPanel();
            this.getContentPane().add(controlPanel,BorderLayout.NORTH);
        this.pack();
        }

        // *** Aufgabenteil (a) ***

        private void initLEDPanel(){
            ledPanel.setLayout(new GridLayout(M,N));
            leds= new LEDButton[M][N];
            for (int i=0; i<leds.length;i++){
                for (int j=0; j<leds[i].length;j++){
                    leds[i][j]=new LEDButton(i,j);
                    ledPanel.add(leds[i][j]);
                }
                randomInit();
            }

            //TODO

        }


        private void randomInit(){
            int k=NumberGenerator.randomInt(3,7);
            initConfig= new int[k][2];
            for ( int i=0; i<initConfig.length;i++){
                int temp2=(int)(Math.random()*k);
                int temp3=(int)(Math.random()*2);
                leds[temp2][temp3].einschalten();
                initConfig[temp2][temp3]=1;
            }

        // TODO

        }


        private void resetLEDs(){
            for (int i=0; i<leds.length;i++){
                for (int j=0; j<leds[i].length;j++){
                    leds[i][j].ausschalten();
                }
            }
            for (int i=0; i<initConfig.length;i++){
                for (int j=0; j<initConfig[i].length;j++){
                    if(initConfig[i][j]==1){
                        leds[i][j].einschalten();
                    }
                }
            }
            // TODO

        }


        public void istFertig(){
            boolean temp=false;
            for (int i=0; i<leds.length;i++){
                for (int j=0; j<leds[i].length;j++){
                    if(leds[i][j].istEingeschaltet()==false){
                        temp=true;
                    }else{
                        temp=false;
                        break;
                    }
                }
            }
            if(temp==true){
                int answer=JOptionPane.showConfirmDialog(Aufgabe_4.this,"zu ende");
            }
            // TODO

        }


        /* Aufgabenteil (b) */

        public void initControlPanel(){
            // TODO

        }




        // *** Aufgabenteil (c) ***

        // TODO



        public static void main(String[] args){
        Aufgabe_4 a4 = new Aufgabe_4();
        a4.setVisible(true);
        }



    }

und

Java:
import javax.swing.JButton;
import java.awt.Color;


public class LEDButton extends JButton {
    private int zeile,spalte;        // Position der LED im Gitter     
    private boolean istEingeschaltet = false; 
    private final Color EIN = Color.yellow;   
    private final Color AUS = Color.black;     

    public LEDButton(int zeile, int spalte){   
        this.zeile = zeile;
        this.spalte = spalte;
        this.setBackground(AUS);
    }


    public void umschalten(){
        if (istEingeschaltet){
            this.ausschalten();
        } else {
            this.einschalten();
        }
    }

    public void ausschalten(){
        this.istEingeschaltet = false;
        this.setBackground(AUS);
        this.repaint();
    }

    public void einschalten(){
        this.istEingeschaltet = true;
        this.setBackground(EIN);
        this.repaint();
    }

    public boolean istEingeschaltet() {
        return this.istEingeschaltet;
    }


    public int getZeile(){
        return this.zeile;
    }

    public int getSpalte(){
        return this.spalte;
    }
}


Der Kompiler sagt:

Exception in thread "main" java.lang.NullpointerException: cannot invoke "LEDButton.einschalten()" because "this.leds[<local3>][<local4>]" is null
at Aufgabe_4.randomInit(Aufgabe_4.java:53)
at Aufgabe_4.initLedPanel(Aufgabe_4.java:39(
at Aufgabe_4.<init>(Aufgabe_4.java:22)
at Aufgabe_4.main(Aufgabe_4.java:115)

Aber wo ist der Fehler?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
J Panel + Label anzeigen - Ich kriege es nicht hin Java Basics - Anfänger-Themen 3
D Kriege falsche MD5 Java Basics - Anfänger-Themen 12
K Warum kriege ich keine 6 zufallige Zahlen raus ? Java Basics - Anfänger-Themen 11
G Kriege Java Datei nicht per Hand kompiliert Java Basics - Anfänger-Themen 4
G Wie kriege ich ein jpg transparent? Java Basics - Anfänger-Themen 6
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
D Ist Ableiten hier sinnvoll Java Basics - Anfänger-Themen 5
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
M Kann mir jemand hier die Logik vermitteln? Java Basics - Anfänger-Themen 3
M Wie kann ich hier den Abstand ausgeben? Java Basics - Anfänger-Themen 3
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
P Weswegen entstehen hier Syntaxfehler? Java Basics - Anfänger-Themen 3
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
R Warum werden hier nur die grün und orangen Linien ausgegeben und der Rest unten nicht? Java Basics - Anfänger-Themen 5
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
S Operatoren i=i++; Was passiert hier? Java Basics - Anfänger-Themen 21
G Warum ist hier ein Lamda-Ausdruck möglich Java Basics - Anfänger-Themen 2
O Was bedeutet das hier 999_983? Java Basics - Anfänger-Themen 2
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
L Collections Ist eine Arraylist hier das richtige? Java Basics - Anfänger-Themen 12
S Unklarer Code (was passiert hier?) Java Basics - Anfänger-Themen 1
R Kann mir hier jemand weiterhelfen? Java Basics - Anfänger-Themen 1
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
B Wieso gibt er hier nur die ungeraden Zahlen aus? Java Basics - Anfänger-Themen 5
B Kann mir jemand erklären, warum hier dreimal was ausgegeben wird und nicht nur zweimal? Java Basics - Anfänger-Themen 16
P Compiler-Fehler Wo befindet sich hier der Fehler und warum? Java Basics - Anfänger-Themen 21
K Public Attribute oder getter - funktioniert leider beides hier nicht Java Basics - Anfänger-Themen 5
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
K Was wird hier nacheinander gemacht? Java Basics - Anfänger-Themen 1
L [ARRAY] Werden hier die Indezes oder die Werte vergliechen? Java Basics - Anfänger-Themen 4
M Liegt hier bereits ein Bad Smell vor? Java Basics - Anfänger-Themen 9
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
V in diesem Forum wurde mir am meisten geholfen, daher eine Frage die hier nicht passt. sry (VB Frage) Java Basics - Anfänger-Themen 3
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
O euer chat hier Java Basics - Anfänger-Themen 1
R kann mir jemand erklären was hier gemacht wurde? Java Basics - Anfänger-Themen 10
K Wie übergebe ich hier korrekt die Werte Java Basics - Anfänger-Themen 5
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
V Warum wird hier 200 ausgeliefert? Java Basics - Anfänger-Themen 39
S Klassen Klasse oder nicht Klasse - das ist hier die Frage Java Basics - Anfänger-Themen 6
W Methoden Wie wird eine Methode hier aufgerufen? Java Basics - Anfänger-Themen 5
S wieso Fehlermeldung cannot find symbol hier Java Basics - Anfänger-Themen 10
K Was ist hier Falsch? Java Basics - Anfänger-Themen 3
L Erste Schritte Sollte ich hier lieber Cases verwenden oder wäre eine If-Bedingung besser? Java Basics - Anfänger-Themen 6
E Kann mir jemand sagen was hier falsch ist? Java Basics - Anfänger-Themen 6
J Was passiert hier? Java Basics - Anfänger-Themen 6
D Wie "unchecked cast" hier vermeiden? Java Basics - Anfänger-Themen 2
R Wieso hänge ich hier in einer Endlosschleife (vermute ich zumindest)? Java Basics - Anfänger-Themen 2
Q switch case hier möglich Java Basics - Anfänger-Themen 10
P Was ist hier falsch? Java Basics - Anfänger-Themen 6
Luk10 Wo zum Teufel fehlen Hier Klammern? Java Basics - Anfänger-Themen 2
T Was mache ich hier falsch? Java Basics - Anfänger-Themen 3
M Was könnte hier nicht stimmen??? Java Basics - Anfänger-Themen 9
K Warum funktioniert hier die setText methode? Java Basics - Anfänger-Themen 3
S Wie ereuge ich hier am besten eine Schleife Java Basics - Anfänger-Themen 12
K Hier noch ein Konstruktor aufbauen Java Basics - Anfänger-Themen 6
G Welche Datenstruktur ist hier die sinnvolste Java Basics - Anfänger-Themen 6
M warum kompiliert das hier nicht? Java Basics - Anfänger-Themen 3
G Probleme mit break hier; in if-Bedingung Java Basics - Anfänger-Themen 5
S Hallo, ich hab hier ein Buch Java Basics - Anfänger-Themen 11
S Warum wirkt hier synchronized nicht? Java Basics - Anfänger-Themen 9
S Funktion hier sinnvoll ? Java Basics - Anfänger-Themen 4
zilti Was ist hier falsch? Java Basics - Anfänger-Themen 13
S Bot Fragen(hoffe das ist hier richtig) Java Basics - Anfänger-Themen 12
D was stimmt hier nicht? Java Basics - Anfänger-Themen 7
W HTML oder nicht? Das ist hier die Frage. Java Basics - Anfänger-Themen 4
G Abstrakte Klasse (was passiert hier) Java Basics - Anfänger-Themen 3
K Was ist hier faul? Java Basics - Anfänger-Themen 29
L Was stimmt hier nicht Java Basics - Anfänger-Themen 2
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
G was ist hier falsch? Java Basics - Anfänger-Themen 5
E Wo liegt hier der Fehler? Java Basics - Anfänger-Themen 13
L wo liegt hier der fehler? Java Basics - Anfänger-Themen 3
C Wie muss man hier aufrufen von 2 eigenen Klassen? Java Basics - Anfänger-Themen 6
J JInternalFrame: Warum funktioniert das hier nicht? Java Basics - Anfänger-Themen 11
P was ist denn hier falsch ? (nur 1Zeile) Java Basics - Anfänger-Themen 21
H Wie hier die Progressbar benutzen? Java Basics - Anfänger-Themen 8
M Was wird hier geprüft? Java Basics - Anfänger-Themen 10
D Was ist hier falsch in der JTable? Java Basics - Anfänger-Themen 5
ven000m Was läuft hier nicht gescheit? Java Basics - Anfänger-Themen 12
megachucky Suche ein paar gute Tutorials so wie dieses hier. Java Basics - Anfänger-Themen 4
3 Verschiedene Fragen (bin neu hier) Java Basics - Anfänger-Themen 5
M Warum rechnet Java hier nicht richtig? Java Basics - Anfänger-Themen 3
H weiss nicht wo hier der fehler liegt Java Basics - Anfänger-Themen 3
J hier Random oder was Einzusetzen Java Basics - Anfänger-Themen 2
A GUI hier, ActionListener da Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben