dispatchUncaughtException in Quiz Spiel mit GUI Layout

Jackii

Mitglied
Hallöchen alle,

ich habe da mal ein Problemchen, ich habe ein Quiz-Spiel geschrieben das ich gerne zum lernen für meine Fischerei Pfrüfung nutzen möchte. Ich habe eine grafische Benutzeroberfläche, die Frage, Antwort und Lösung habe ich durch splitten auseinander gelegt sodass ich es beim Fragen eingeben einfacher und übersichtiger habe.
Das Programm splittet auch schön alles auf, hab ich schon per Haltepunkte debuggt.

Problem ist jetzt ein Null.pointer mit dispatchUncaughtException
dies geschieht genau dann wenn die Frage in das Label geschrieben werden soll... ich bin etwas ratlos warum es jetzt auf einmal nicht mehr so klappt... vllt könnt ihr mir dabei bitte helfen.

Hier mal der Code(imports erspar ich euch):
Ich benutze Netbeans, Windows 7

Klasse Quiz_Fenster.java
Java:
public class Quiz_Fenster implements ActionListener {
   
    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
   
    JLabel frage;
    JButton ant[] = new JButton[3];
   
    JFrame wl;
   
    int loesung = 0;

    public static void main(String[] args) {
        new frage_change();
        //new Quiz_Fenster();             //zum testen des Grundgeruest
    }
   
    public Quiz_Fenster() {
        wl = new JFrame();
        wl.setSize(800,400);    //breite, hoehe
        wl.setLocation((int) (dim.getWidth()-400)/2, (int) (dim.getHeight()-300 /2));
        wl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        wl.setVisible(true);
        wl.setLayout(null);
       
        ant[0] = new JButton("  ");
        ant[0].setBounds(52, 120, 200, 40); //vom rand links,xx, lange,xx
        ant[0].addActionListener(this);
        wl.add(ant[0]);
       
        ant[1] = new JButton("  ");
        ant[1].setBounds(52, 190, 200, 40); //vom rand links,xx, lange,xx
        ant[1].addActionListener(this);
        wl.add(ant[1]);
       
        ant[2] = new JButton("  ");
        ant[2].setBounds(52, 260, 200, 40); //vom rand links,xx, lange,xx
        ant[2].addActionListener(this);
        wl.add(ant[2]);
       
        frage = new JLabel("Hier steht die Frage !");
        frage.setBounds(52, 15, 250, 40);
        wl.add(frage);
    }
   
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == ant[0]) {
            if(loesung == 1) {
                frage_change.neueFrage();
            } else {
                Nachricht("Falsch", "Versuche es später nochmal...");
            }
        }
        if(e.getSource() == ant[1]) {
            if(loesung == 2) {
                frage_change.neueFrage();
            } else {
                Nachricht("Falsch", "Versuche es später nochmal...");
            }
        }
        if(e.getSource() == ant[2]) {
            if(loesung == 3) {
                frage_change.neueFrage();
            } else {
                Nachricht("Falsch", "Versuche es später nochmal...");
            }
        }
    }
   
    public void ChangeButtonText(int button, String text) {
        ant[button -1].setText(text);
    }
   
    public void ChangeLabelText(String text) {
        frage.setText(text);                //macht er nicht                   
    }

   
    public void Nachricht(String Aussage, String info) {
        Object[] options = {"OK"};
        JOptionPane.showOptionDialog(null, Aussage, info, JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
    }
}

Klasse fragen_change.java
Java:
public class frage_change {
   
    static String ri_frage = null;
    static String op1 = null;        //Option 1
    static String op2 = null; 
    static String op3 = null; 

    static int loesung = 0;
   
    static Quiz_Fenster quiz;
    static Fragen fragen_klasse;
    static String akt_frage;
   
    public frage_change() {
        Quiz_Fenster quiz = new Quiz_Fenster();
        neueFrage();
    }
   
    public static void neueFrage() {
        fragen_klasse = new Fragen();
        akt_frage = fragen_klasse.frage;
       
        parser();
        aendereText();
    }
   
    public static void parser() {
        String[] frage = akt_frage.split("\\$");
       
        for(int x = 0; x < frage.length; x++) {
            switch(x) {
              
                case 0:
                    ri_frage = frage[x];
//                    System.out.println(ri_frage);
                    break;
               
                case 1:
                    op1 = frage[x];
//                    System.out.println(op1);
                    break;
                   
                case 2:
                    op2 = frage[x];
//                    System.out.println(op2);
                    break;
               
                case 3:
                    op3 = frage[x];
//                    System.out.println(op3);
                    break;
                   
                case 4:
                    loesung = Integer.parseInt(frage[x]);
//                    System.out.println("Was steht im case 4 in loesung");
//                    System.out.println(loesung);
                    break;
            }
        }
    }
   
    public static void aendereText() {
        System.out.println("Wie ist die Frage?");
        System.out.println(ri_frage);                              //hier gibt er das richtige aus
        quiz.ChangeLabelText(ri_frage);                         //hier schiesst er raus, ri_frage wird nicht richtig uebermittelt
//        System.out.println("Was steht jetzt in der Loesung?");
//        System.out.println(loesung);
        quiz.loesung = loesung;                                     //dann springt er hier raus
        quiz.ChangeButtonText(1, op1);                  
        quiz.ChangeButtonText(2, op2);                   
        quiz.ChangeButtonText(3, op3);                  
    }
}

und die Klasse Fragen.java
Java:
public class Fragen {
   
    int zufall;
    String fragen[] = new String[19];
    static String frage;
   
    public Fragen(){
        fragen[1] = "Welcher Fisch hat ein punkt? $Antowort A $Antwort B $Antwort C $1"; //Fragen können hier drunter gestellt werden
        fragen[2] = "Hecht? $Antowort A $Antwort B $Antwort C $2";
        fragen[3] = "Forelle? $Antowort A $Antwort B $Antwort C $3";
        fragen[4] = "Karpfen? $Antowort A $Antwort B $Antwort C $3";
        fragen[5] = "Zander? $Antowort A $Antwort B $Antwort C $3";
        fragen[6] = "Wels? $Antowort A $Antwort B $Antwort C $3";
       
        frage = fragen[zufall(1,7)];
    }
   
    public int zufall(int min, int max) {
        zufall = (int)((max-min)* Math.random()+ min);
        return zufall;
    }
}

hier ist noch die Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at quiz.frage_change.aendereText(frage_change.java:74)
at quiz.frage_change.neueFrage(frage_change.java:31)
at quiz.frage_change.<init>(frage_change.java:23)
at quiz.Quiz_Fenster.main(Quiz_Fenster.java:28)

wenn ich es per Haltepunkte mache dann taucht das dispatchUncaughtException auf

Ich hoffe ihr könnt mir helfen und findet mein Fahler....
danke schonmal fürs anschauen ;)

LG Jackii
 

Robat

Top Contributor
Die Exception fliegt in der Klasse frage_change in Zeile 74. Das Problem hier ist, dass dein Feld quiz null ist, weil du es nie initialisierst.
Im Konstruktor erstellst du eine gleichnamige, lokale Variable anstatt die Membervariable zu initialisieren.

Off-Topic: Vermeide static und nutzte sinnige/sprechende Zugriffsmodifier (hier private)
 

Jackii

Mitglied
‍♀️ ja die Antwort kann so leicht sein... hab es voll übersehen das der oben null ist.
Danke für deine schnelle Antwort ;)

habs jetzt doppelt aber das krieg ich hin
 

Jackii

Mitglied
bisher habe ich alle Probleme gelöst..

das mit dem doppelten Fenster war einfach nur weil ich das Fenster erstellen 2x aufgerufen habe (falls jemand sowas nach programmiert)

jetzt hätte ich nur die Frage wie ich am einfachsten keine dopplung ausgebe, ich könnt alle gestellten Fragen in eine Liste speichern und vorher vergleichen aber ich da echt etwas raus...OPs tun dem Kopf nicht gut xD

Java von Kopf bis Fuß hilft auch nicht grade.... habe über 200 Fragen die ich einbinden will, nur der Split bis zum a), b), c) klappt nicht so wie ich das gerne hätte...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Logik für ein Quiz Spiele- und Multimedia-Programmierung 7
K Quiz mit Schleife Spiele- und Multimedia-Programmierung 11
H Quiz als Studienarbeit Spiele- und Multimedia-Programmierung 22
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
P Quiz-Programm Spiele- und Multimedia-Programmierung 4
S Ratespiel (Quiz) - Falsche Antwort -> Wiederholung Spiele- und Multimedia-Programmierung 6
W Quiz mit Videos erstellen Spiele- und Multimedia-Programmierung 4
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Anfangsmenü mit Spiel verknüpfen Spiele- und Multimedia-Programmierung 16
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
Devil0s Spiel laggt trotz 90 FPS (bei der Anzeige) Spiele- und Multimedia-Programmierung 9
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
L Korrekte Darstellung von Wasser in 2D Spiel Spiele- und Multimedia-Programmierung 4
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
J wohin mit der Logik des Spiel Spiele- und Multimedia-Programmierung 2
R Experimente mit Quaxlis Spiel Spiele- und Multimedia-Programmierung 12
W Spiel-Grundlagen selbst austüfteln: Kollisionen? Spiele- und Multimedia-Programmierung 3
Kenan89 Java 2D Spiel Spiele- und Multimedia-Programmierung 39
M Automaten Spiel Spiele- und Multimedia-Programmierung 27
J Tic tac toe spiel Neustart Spiele- und Multimedia-Programmierung 5
S 2D Spiel im Vollbild langsamer als im Fenster Spiele- und Multimedia-Programmierung 11
A TicTacToe Spiel Spiele- und Multimedia-Programmierung 3
S Verbesserungvorschläge Spiel Z Spiele- und Multimedia-Programmierung 31
S Spiel abbrechen Spiele- und Multimedia-Programmierung 3
J Greenfoot "Little Crab" Spiel Erweiterungen Spiele- und Multimedia-Programmierung 6
P Spiel HUD erstellen Spiele- und Multimedia-Programmierung 6
E Spiel neustarten Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben