Nullpointerexception und es wird nichts angezeigt

trazz

Mitglied
Moin zusammen,

erstmal möchte ich mich im Vorhinein schonmal für meinen schlechten Quellcode entschuldigen, nun aber zu meinem Problem: in der b1click() - Methode bekomme ich, egal was ich eingebe, nur NullPointerException. Kann mir wer helfen ?

2. Problem beim "Standweitsprung" wird im JFrame nichts außer der Titel angezeigt.

Quellcode:
Java:
package de.[PRIVAT].main;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.InputMismatchException;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;

@SuppressWarnings("serial")
public class Punkterechner extends JFrame  {
   
    Font font = new Font("Verdana", Font.BOLD, 15);
   
    ArrayList<String> liste1 = new ArrayList<String>();
   
    static JLabel text1;
    static JLabel anzahl1;
    static JLabel klasse1;
  
    static JLabel text2;
    static JLabel anzahl2;
    static JLabel klasse2;
  
    JPanel panel2 = new JPanel();
    JPanel panel3 = new JPanel();
  
    ImageIcon img = new ImageIcon("GCG.jpg");

    JPanel panel = new JPanel();
    static JTextField A0;
    static JTextField A2;
    static JTextField A3;
    static JTextField A4;
    JCheckBox box1 = new JCheckBox("Klimmzüge");
    JCheckBox box2 = new JCheckBox("Standweitsprung");
    JCheckBox box3 = new JCheckBox("Beugestütz");
    JButton button = new JButton("Auswählen");
    static JButton berechnen1 = new JButton("Berechnen");
    JButton berechnen2 = new JButton("Berechnen");
    JButton berechnen3 = new JButton("Berechnen");
       
    public static void main(String[] args) {
      
        Punkterechner pr = new Punkterechner();      
        pr.b1click();
        pr.Punkterechner();
        JOptionPane.showMessageDialog(null, "[PRIVAT]");      
    }  

private Document createNumericDocumentWithMaxLength(final int maxLength) {
            Document doc = new PlainDocument(){
                @Override
                public void insertString(int offs, String str, AttributeSet a)
                    throws BadLocationException {
                    if(getLength() + str.length() > maxLength)
                        return;
                    if(!str.matches("^[\\d]*$"))
                        return;                  
                  
                    super.insertString(offs, str, a);                      
                }
            };
            return doc;          
        }

private Document createNumericDocumentWithMaxLength1(final int maxLength) {
    Document doc = new PlainDocument(){
        @Override
        public void insertString(int offs, String str, AttributeSet a)
            throws BadLocationException {
            if(getLength() + str.length() > maxLength)
                return;
            if(!str.matches("^[\\d]*$"))
            if(!str.matches("[5-12]+"))  
                return;          
          
            super.insertString(offs, str, a);              
        }
    };
    return doc;  
}

    public  void Punkterechner() {      
        panel.setLayout(null);      
        JFrame f = new JFrame();
        f.setIconImage(img.getImage());
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);
        f.setTitle("Punkterechner");
        f.setBounds(100, 300, 500, 500);
  
        text1 = new JLabel("Bitte wählen Sie die Disziplin aus!");
        text1.setVisible(true);
        text1.setBounds(135, 30, 300, 50);
        text1.setFont(new Font("Calabria", Font.BOLD, 16));   
  
        button.setBounds(195, 350, 100, 35);

        box1.setVisible(true);
        box1.setBounds(195, 110, 150, 35);
      
        box2.setVisible(true);
        box2.setBounds(195, 190, 150, 35);
      
        box3.setVisible(true);
        box3.setBounds(195, 270, 150, 35);
      
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {              
                 if(box1.isSelected()) {
                     panel2.setLayout(null);
                     f.setVisible(false);
                        JFrame f5 = new JFrame();
                         f5.setVisible(true);
                         f5.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                         f5.setLocationRelativeTo(null);
                         f5.setTitle("Klimmzug");
                         f5.setBounds(100, 300, 500, 500);
                       
                         anzahl1 = new JLabel("Anzahl: ");
                         anzahl1.setFont(font);
                       
                         anzahl1.setBounds(140, 123, 75, 15);
                         anzahl1.setVisible(true);
                       
                             JTextField A0 = new JTextField(5);
                             A0.setBounds(210, 120, 32, 25);
                             A0.setDocument(createNumericDocumentWithMaxLength(3));
                                             
                            JTextField A2 = new JTextField();
                            A2.setDocument(createNumericDocumentWithMaxLength1(2));
                            A2.setBounds(210, 180, 32, 25);
                      
                        klasse1 = new JLabel("Alter: ");
                        klasse1.setFont(font);
                      
                        klasse1.setBounds(140, 183, 75, 15);
                        klasse1.setVisible(true);
                       
                             JLabel t2 = new JLabel("Anzahl:");
                             //Erg�nzen//
                       
                             JLabel t3 = new JLabel("Alter:");
                             //Erg�nzen//
                                              
                         berechnen1.setBounds(160, 280, 115, 35);
                        
                     panel2.add(A0);
                     panel2.add(A2);
                     panel2.add(anzahl1);
                     panel2.add(klasse1);
                     panel2.add(berechnen1);
                     f5.add(panel2);
                 }else {
                     if(box2.isSelected()) {
                         panel3.setLayout(null);
                         f.setVisible(false);
                            JFrame f2 = new JFrame();
                             f2.setVisible(true);
                             f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                             f2.setLocationRelativeTo(null);
                             f2.setTitle("Standweitsprung");
                             f2.setBounds(100, 300, 500, 500);
                           
                             anzahl2 = new JLabel("Anzahl: ");
                             anzahl2.setFont(font);
                           
                             anzahl2.setBounds(140, 123, 75, 15);
                             anzahl2.setVisible(true);
                           
                                 JTextField A3 = new JTextField(5);
                                 A3.setBounds(210, 120, 32, 25);
                                 A3.setDocument(createNumericDocumentWithMaxLength(3));
                           
                                 JTextField A4 = new JTextField();
                                 A4.setDocument(createNumericDocumentWithMaxLength1(2));
                                 A4.setBounds(210, 180, 32, 25);
                          
                             klasse2 = new JLabel("Alter: ");
                             klasse2.setFont(font);
                          
                             klasse2.setBounds(140, 183, 75, 15);
                             klasse2.setVisible(true);
                           
                             JLabel t2 = new JLabel("Anzahl:");
                             //Erg�nzen//
                           
                             JLabel t3 = new JLabel("Klasse:");
                             //Erg�nzen//
                           
                             berechnen2.setBounds(160, 280, 115, 35);
                             panel3.add(A3);
                             panel3.add(A4);
                             panel3.add(anzahl2);
                             panel3.add(klasse2);
                             panel3.add(berechnen2);                   
                     }else {
                         if(box3.isSelected()) {
                                f.setVisible(false);
                                JFrame f4 = new JFrame();
                                 f4.setVisible(true);
                                 f4.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                 f4.setLocationRelativeTo(null);
                                 f4.setTitle("Beugestütz");
                                 f4.setBounds(100, 300, 500, 500);
                               
                                 JLabel t2 = new JLabel("Anzahl:");
                                 t2.setBounds(12, 50, 100, 300);
                                 t2.setVisible(true);
                                 JLabel t3 = new JLabel("Alter:");
                                 //Erg�nzen//
                       
                         panel.add(t2);                      
                         }
                    }
                 }  
            }
        });
      
        box1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ac) {
                // TODO Auto-generated method stub              
                if(box1.isSelected() == true) {
                    box2.setSelected(false);
                    box3.setSelected(false);  
                }  
            }  
        });
        box2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ac) {
                // TODO Auto-generated method stub              
                 if(box2.isSelected() == true) {
                    box1.setSelected(false);
                    box3.setSelected(false);
                }
            }          
        });
        box3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ac) {
                // TODO Auto-generated method stub              
                 if(box3.isSelected() == true) {
                    box1.setSelected(false);
                    box2.setSelected(false);
                }
            }
        });
      
        panel.add(button);
        panel.add(box1);
        panel.add(box2);
        panel.add(box3);
        panel.add(text1);
        f.add(panel);      
        }
  
    public void b1click() {
        berechnen1.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent a) {
                // TODO Auto-generated method stub
              
                int parse  = Integer.parseInt(A0.getText()); 
                try {
                    if(parse >= 14) {
                        JOptionPane.showMessageDialog(null, "It works!");                      
                    } else {
                        JOptionPane.showMessageDialog(null, "Bitte benutzen Sie den Punkterechner für unter 14 Jährige!");
                    }                  
                } catch(NullPointerException e) {
                    System.err.println("Fehler: " + e.getMessage());                  
                }
            }
         });
    }  
    }

Nun meine Exception (allerdings nur für den Button, da es beim Panel keine gibt): http://pastebin.com/9NHGCvqX

Vielen Dank für eure Hilfe!


Mit freundlichen Grüßen,
trazz
 
Zuletzt bearbeitet von einem Moderator:

InfectedBytes

Top Contributor
deine statischen Textfelder sind allesamt null:
Java:
JTextField A0 =new JTextField(5);
A0.setBounds(210, 120, 32, 25);
A0.setDocument(createNumericDocumentWithMaxLength(3));
Hier erzeugst du zwar ein neues Textfeld, aber du weist es einer lokalen Variable namens A0 zu und nicht der gewünschten statischen Variable.

Ansonsten ist dein Code leider wirklich furchtbar. Allein deine Variablennamen kann man kaum schlimmer wählen. Wie willst du morgen noch deinen Code verstehen, wenn all deine Variablen namen sehr kurz und nichts sagend sind? Weißt du aus dem Stand heraus was A3 macht? oder pr? oder f? Vermutlich nicht, du solltest dir daher erst gar nicht angewöhnen solche furchtbaren Namen zu verwenden.
Ansonsten ist deine Verwendung von statischen Variable auch keine gute Idee.
 

trazz

Mitglied
deine statischen Textfelder sind allesamt null:
Java:
JTextField A0 =new JTextField(5);
A0.setBounds(210, 120, 32, 25);
A0.setDocument(createNumericDocumentWithMaxLength(3));
Hier erzeugst du zwar ein neues Textfeld, aber du weist es einer lokalen Variable namens A0 zu und nicht der gewünschten statischen Variable.

Ansonsten ist dein Code leider wirklich furchtbar. Allein deine Variablennamen kann man kaum schlimmer wählen. Wie willst du morgen noch deinen Code verstehen, wenn all deine Variablen namen sehr kurz und nichts sagend sind? Weißt du aus dem Stand heraus was A3 macht? oder pr? oder f? Vermutlich nicht, du solltest dir daher erst gar nicht angewöhnen solche furchtbaren Namen zu verwenden.
Ansonsten ist deine Verwendung von statischen Variable auch keine gute Idee.
Was müsste ich verändern ? Sorry, bin Anfänger. Hast du vielleicht noch weitere Tipps für guten Code ?

MfG
 

InfectedBytes

Top Contributor
Anstatt das Feld neu zu deklarieren JTextField A0 = ...
solltest du es eben einfach nur zuweisen, ohne eine neue Variable zu deklarieren: A0 = ...

*Benenne Variable nachdem was sie sind. Ein Textfeld speichert das gewicht? Dann nenne es auch gewicht und nicht t42.
*Statische Variable sind in den meisten Fällen nichts weiter als ein Design fehler. In diesem Fall kannst du das static sogar einfach weglassen und es funktioniert trotzdem.
*Du hast eine Methode mit dem selben Namen wie die Klasse, nur der Konstruktor sollte so heißen
*Du lässt deine Klasse von JFrame erben, erstellst dann aber einen komplett neuen JFrame in der void Punkterechner Methode. In den meisten Fällen sollte man einfach nicht von JFrame erben.
*Weiterhin solltest du dir überlegen ob du die ganzen Button, Textfelder, ... Variablen überhaupt als Intsanzvariablen benötigst. In den meisten Fällen reichen diese nämlich als lokale Variable während der erstellung des Frames.
Also eben anstatt:
Java:
class Punkterechner {
  JButton calculate;
  public Punkterechner() {
    JFrame frame = new JFrame();
    calculate = new JButton("Calculate");
    // ...
    frame.add(calculate);
  }
}
lieber folgendes:
Java:
class Punkterechner {
  public Punkterechner() {
    JFrame frame = new JFrame();
    final JButton calculate = new JButton("Calculate");
    // ...
    frame.add(calculate);
  }
}

Ansonsten gibt es vermutlich noch sehr viel zu verbessern, aber das waren nur die groben Sachen wie mir auf die Schnelle aufgefallen sind. Am besten schaust du dir mal ein Einsteiger Buch an, dort wird auf sowas auch eingegangen: http://openbook.rheinwerk-verlag.de/javainsel/
 

@SupressWarnings()

Aktives Mitglied
@trazz verwende für Variablen Namen, bei denen sofort klar ist, was sie machen/sind.
z. B. weiß jeder (oder fast jeder) was gemeint ist wenn du sagst:
int anzahlPersonen;
aber wenn du die Variable "i" oder so nennst, wird man daraus nicht schlau.
Verwende am besten Variablennamen auf Englisch, dadurch liest sich der Code besser und schneller.
Außerdem solltest du das CamelCase-Prinzip verwenden, das heißt wenn im Variablennamen ein neues Wort beginnt, wird davon der erste Buchstabe groß geschrieben. Sonst beginnen Variablennamen immer klein. Dasselbe verwendest du dann auch für Methodennamen.
 

trazz

Mitglied
Anstatt das Feld neu zu deklarieren JTextField A0 = ...
solltest du es eben einfach nur zuweisen, ohne eine neue Variable zu deklarieren: A0 = ...

*Benenne Variable nachdem was sie sind. Ein Textfeld speichert das gewicht? Dann nenne es auch gewicht und nicht t42.
*Statische Variable sind in den meisten Fällen nichts weiter als ein Design fehler. In diesem Fall kannst du das static sogar einfach weglassen und es funktioniert trotzdem.
*Du hast eine Methode mit dem selben Namen wie die Klasse, nur der Konstruktor sollte so heißen
*Du lässt deine Klasse von JFrame erben, erstellst dann aber einen komplett neuen JFrame in der void Punkterechner Methode. In den meisten Fällen sollte man einfach nicht von JFrame erben.
*Weiterhin solltest du dir überlegen ob du die ganzen Button, Textfelder, ... Variablen überhaupt als Intsanzvariablen benötigst. In den meisten Fällen reichen diese nämlich als lokale Variable während der erstellung des Frames.
Also eben anstatt:
Java:
class Punkterechner {
  JButton calculate;
  public Punkterechner() {
    JFrame frame = new JFrame();
    calculate = new JButton("Calculate");
    // ...
    frame.add(calculate);
  }
}
lieber folgendes:
Java:
class Punkterechner {
  public Punkterechner() {
    JFrame frame = new JFrame();
    final JButton calculate = new JButton("Calculate");
    // ...
    frame.add(calculate);
  }
}

Ansonsten gibt es vermutlich noch sehr viel zu verbessern, aber das waren nur die groben Sachen wie mir auf die Schnelle aufgefallen sind. Am besten schaust du dir mal ein Einsteiger Buch an, dort wird auf sowas auch eingegangen: http://openbook.rheinwerk-verlag.de/javainsel/

Vielen, vielen Dank! Es funktioniert!
Das Buch werde ich mir demnächst auch zulegen ;)

Mit freundlichen Grüßen
 

trazz

Mitglied
@trazz verwende für Variablen Namen, bei denen sofort klar ist, was sie machen/sind.
z. B. weiß jeder (oder fast jeder) was gemeint ist wenn du sagst:
int anzahlPersonen;
aber wenn du die Variable "i" oder so nennst, wird man daraus nicht schlau.
Verwende am besten Variablennamen auf Englisch, dadurch liest sich der Code besser und schneller.
Außerdem solltest du das CamelCase-Prinzip verwenden, das heißt wenn im Variablennamen ein neues Wort beginnt, wird davon der erste Buchstabe groß geschrieben. Sonst beginnen Variablennamen immer klein. Dasselbe verwendest du dann auch für Methodennamen.
Danke!
 

trazz

Mitglied
Anstatt das Feld neu zu deklarieren JTextField A0 = ...
solltest du es eben einfach nur zuweisen, ohne eine neue Variable zu deklarieren: A0 = ...

*Benenne Variable nachdem was sie sind. Ein Textfeld speichert das gewicht? Dann nenne es auch gewicht und nicht t42.
*Statische Variable sind in den meisten Fällen nichts weiter als ein Design fehler. In diesem Fall kannst du das static sogar einfach weglassen und es funktioniert trotzdem.
*Du hast eine Methode mit dem selben Namen wie die Klasse, nur der Konstruktor sollte so heißen
*Du lässt deine Klasse von JFrame erben, erstellst dann aber einen komplett neuen JFrame in der void Punkterechner Methode. In den meisten Fällen sollte man einfach nicht von JFrame erben.
*Weiterhin solltest du dir überlegen ob du die ganzen Button, Textfelder, ... Variablen überhaupt als Intsanzvariablen benötigst. In den meisten Fällen reichen diese nämlich als lokale Variable während der erstellung des Frames.
Also eben anstatt:
Java:
class Punkterechner {
  JButton calculate;
  public Punkterechner() {
    JFrame frame = new JFrame();
    calculate = new JButton("Calculate");
    // ...
    frame.add(calculate);
  }
}
lieber folgendes:
Java:
class Punkterechner {
  public Punkterechner() {
    JFrame frame = new JFrame();
    final JButton calculate = new JButton("Calculate");
    // ...
    frame.add(calculate);
  }
}

Ansonsten gibt es vermutlich noch sehr viel zu verbessern, aber das waren nur die groben Sachen wie mir auf die Schnelle aufgefallen sind. Am besten schaust du dir mal ein Einsteiger Buch an, dort wird auf sowas auch eingegangen: http://openbook.rheinwerk-verlag.de/javainsel/
Ich habe meinen Quellcode meiner Ansicht nach (unter Befolgung deiner Schritte) jetzt erstmal übersichtlicher gestaltet. Nun noch meine Frage hast du auch noch eine Idee für das Frame mit dem "Standweitsprung" ?

Mit freundlichen Grüßen
 

InfectedBytes

Top Contributor
Im Grunde genau das gleiche, hier reicht dir auch eine lokale Variable. Du benötigst die Variable zwar auch in dem Listener, aber da dieser innerhalb deines Konstruktors erzeugt wird, kannst du auch auf die (finalen) lokalen Variable davon zugreifen:
Java:
class Punkterechner {
  public Punkterechner() {
    final JCheckBox weitsprung = new JCheckBox();
    // ...
    button.addActionListener(new ActonListener(){
            @Override
           publicvoid actionPerformed(ActionEvent ae){
             if(weitsprung.isSelected()) { ... }
           }
     }
  }
}
 

trazz

Mitglied
Im Grunde genau das gleiche, hier reicht dir auch eine lokale Variable. Du benötigst die Variable zwar auch in dem Listener, aber da dieser innerhalb deines Konstruktors erzeugt wird, kannst du auch auf die (finalen) lokalen Variable davon zugreifen:
Java:
class Punkterechner {
  public Punkterechner() {
    final JCheckBox weitsprung = new JCheckBox();
    // ...
    button.addActionListener(new ActonListener(){
            @Override
           publicvoid actionPerformed(ActionEvent ae){
             if(weitsprung.isSelected()) { ... }
           }
     }
  }
}

Ich habe es jetzt so geändert:
Java:
package de.[PRIVAT].main;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.InputMismatchException;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;

@SuppressWarnings("serial")
public class Punkterechner extends JFrame  {
   
   

   
    Font font = new Font("Verdana", Font.BOLD, 15);
   
   
   
   
   
    ArrayList<String> liste1 = new ArrayList<String>();
   
   
   
   
    static JLabel ueberschrift;
    static JLabel labelAnzahl1;
    static JLabel klasse1;
   
    static JLabel text2;
    static JLabel anzahl2;
    static JLabel klasse2;
   
    JPanel panel2 = new JPanel();
    JPanel panel3 = new JPanel();
   
    ImageIcon img = new ImageIcon("GCG.jpg");

    JPanel panel = new JPanel();
    static JTextField anzahlKlimm;
    static JTextField alterKlimm;
    static JTextField anzahlStand;
    static JTextField alterStand;
    JCheckBox boxKlimm = new JCheckBox("Klimmzüge");
    final JCheckBox boxStand = new JCheckBox("Standweitsprung");
    JCheckBox boxBeuge = new JCheckBox("Beugestütz");
    JButton button = new JButton("Auswählen");
    static JButton berechnen1 = new JButton("Berechnen");
    JButton berechnen2 = new JButton("Berechnen");
    JButton berechnen3 = new JButton("Berechnen");
       
   
   
    public static void main(String[] args) {
       
        Punkterechner pr = new Punkterechner();
       
        pr.b1click();
        pr.Punkterechner();

       
       
        JOptionPane.showMessageDialog(null, "[PRIVAT]");
       
    }

   

private Document createNumericDocumentWithMaxLength(final int maxLength) {
           
   
   
            Document doc = new PlainDocument(){
                @Override
                public void insertString(int offs, String str, AttributeSet a)
                    throws BadLocationException {
                    if(getLength() + str.length() > maxLength)
                        return;
                    if(!str.matches("^[\\d]*$"))
                        return;
                   
                   
                    super.insertString(offs, str, a);
                       
                }
            };
            return doc;
           
        }

private Document createNumericDocumentWithMaxLength1(final int maxLength) {
   
   
   
    Document doc = new PlainDocument(){
        @Override
        public void insertString(int offs, String str, AttributeSet a)
            throws BadLocationException {
            if(getLength() + str.length() > maxLength)
                return;
            if(!str.matches("^[\\d]*$"))
            if(!str.matches("[5-12]+"))   
                return;
           
           
            super.insertString(offs, str, a);
               
        }
    };
    return doc;
   
}


    public  void Punkterechner() {
       
        panel.setLayout(null);
       
        JFrame f = new JFrame();
        f.setIconImage(img.getImage());
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);
        f.setTitle("Punkterechner");
        f.setBounds(100, 300, 500, 500);
   
        ueberschrift = new JLabel("Bitte wählen Sie die Disziplin aus!");
        ueberschrift.setVisible(true);
        ueberschrift.setBounds(135, 30, 300, 50);
        ueberschrift.setFont(new Font("Calabria", Font.BOLD, 16));
       

   
        button.setBounds(195, 350, 100, 35);

        boxKlimm.setVisible(true);
        boxKlimm.setBounds(195, 110, 150, 35);
       
        boxStand.setVisible(true);
        boxStand.setBounds(195, 190, 150, 35);
       
        boxBeuge.setVisible(true);
        boxBeuge.setBounds(195, 270, 150, 35);
       
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
               
                 if(boxKlimm.isSelected()) {
                     panel2.setLayout(null);
                     f.setVisible(false);
                        JFrame f5 = new JFrame();
                         f5.setVisible(true);
                         f5.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                         f5.setLocationRelativeTo(null);
                         f5.setTitle("Klimmzug");
                         f5.setBounds(100, 300, 500, 500);
                        
                         labelAnzahl1 = new JLabel("Anzahl: ");
                         labelAnzahl1.setFont(font);
                        
                         labelAnzahl1.setBounds(140, 123, 75, 15);
                         labelAnzahl1.setVisible(true);
                        
                             anzahlKlimm = new JTextField(5);
                             anzahlKlimm.setBounds(210, 120, 32, 25);
                             anzahlKlimm.setDocument(createNumericDocumentWithMaxLength(3));
                       
                       
                            alterKlimm = new JTextField();
                            alterKlimm.setDocument(createNumericDocumentWithMaxLength1(2));
                            alterKlimm.setBounds(210, 180, 32, 25);
                       
                        klasse1 = new JLabel("Alter: ");
                        klasse1.setFont(font);
                       
                        klasse1.setBounds(140, 183, 75, 15);
                        klasse1.setVisible(true);
                        
                             JLabel t2 = new JLabel("Anzahl:");
                             //Erg�nzen//
                        
                             JLabel t3 = new JLabel("Alter:");
                             //Erg�nzen//
                       
                        
                         berechnen1.setBounds(160, 280, 115, 35);
                        
                       
                                                 
                        
                     panel2.add(anzahlKlimm);
                     panel2.add(alterKlimm);
                     panel2.add(labelAnzahl1);
                     panel2.add(klasse1);
                     panel2.add(berechnen1);
                     f5.add(panel2);
                   
                        
                 }
                    
                        
                    }
                 {   
            }
        });
       
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if(boxStand.isSelected()) {
                     panel3.setLayout(null);
                     f.setVisible(false);
                        JFrame f2 = new JFrame();
                         f2.setVisible(true);
                         f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                         f2.setLocationRelativeTo(null);
                         f2.setTitle("Standweitsprung");
                         f2.setBounds(100, 300, 500, 500);
                        
                         anzahl2 = new JLabel("Anzahl: ");
                         anzahl2.setFont(font);
                        
                         anzahl2.setBounds(140, 123, 75, 15);
                         anzahl2.setVisible(true);
                        
                             anzahlStand = new JTextField(5);
                             anzahlStand.setBounds(210, 120, 32, 25);
                             anzahlStand.setDocument(createNumericDocumentWithMaxLength(3));
                       
                       
                             alterStand = new JTextField();
                             alterStand.setDocument(createNumericDocumentWithMaxLength1(2));
                             alterStand.setBounds(210, 180, 32, 25);
                       
                         klasse2 = new JLabel("Alter: ");
                         klasse2.setFont(font);
                       
                         klasse2.setBounds(140, 183, 75, 15);
                         klasse2.setVisible(true);
                        
                         JLabel t2 = new JLabel("Anzahl:");
                         //Erg�nzen//
                        
                         JLabel t3 = new JLabel("Klasse:");
                         //Erg�nzen//
                       
                        
                         berechnen2.setBounds(160, 280, 115, 35);
                         panel3.add(anzahlStand);
                         panel3.add(alterStand);
                         panel3.add(anzahl2);
                         panel3.add(klasse2);
                         panel3.add(berechnen2);
                
                 }
           
            }
           
        });
       
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                if(boxBeuge.isSelected()) {
                    f.setVisible(false);
                    JFrame f4 = new JFrame();
                     f4.setVisible(true);
                     f4.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                     f4.setLocationRelativeTo(null);
                     f4.setTitle("Beugestütz");
                     f4.setBounds(100, 300, 500, 500);
                    
                     JLabel t2 = new JLabel("Anzahl:");
                     t2.setBounds(12, 50, 100, 300);
                     t2.setVisible(true);
                     JLabel t3 = new JLabel("Alter:");
                     //Erg�nzen//
            
             panel.add(t2);
           
             }
            }
           
        });
       
        boxKlimm.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ac) {
                // TODO Auto-generated method stub
               
                if(boxKlimm.isSelected() == true) {
                    boxStand.setSelected(false);
                    boxBeuge.setSelected(false);   
                }   
            }   
        });
        boxStand.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ac) {
                // TODO Auto-generated method stub
               
                 if(boxStand.isSelected() == true) {
                    boxKlimm.setSelected(false);
                    boxBeuge.setSelected(false);
                }
            }           
        });
        boxBeuge.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ac) {
                // TODO Auto-generated method stub
               
                 if(boxBeuge.isSelected() == true) {
                    boxKlimm.setSelected(false);
                    boxStand.setSelected(false);
                }
            }
        });
       
        panel.add(button);
        panel.add(boxKlimm);
        panel.add(boxStand);
        panel.add(boxBeuge);
        panel.add(ueberschrift);
        f.add(panel);
       
        }
   
    public void b1click() {
        berechnen1.addActionListener(new ActionListener() {
            
   

            @Override
            public void actionPerformed(ActionEvent a) {
                // TODO Auto-generated method stub
               
                int parse  = Integer.parseInt(alterKlimm.getText());
               
               
                try {

                    if(parse >= 14) {
                        JOptionPane.showMessageDialog(null, "It works!");
                       
                    } else {
                        JOptionPane.showMessageDialog(null, "Bitte benutzen Sie den Punkterechner für unter 14 Jährige!");
                    }
                   
                } catch(NullPointerException e) {
                    System.err.println("Fehler: " + e.getMessage());
                   
                }
               
           
                                             
                   
               
           
               
               
               
            }
            
         });

       
    }

   


   

   
    }

Geht immer noch nicht (Frame (Standweitsprung) zeigt nichts an - keine Fehlermeldung).

MfG


p.s.: Die Variablen die immer noch unübersichtlich heißen sind schon umgenannt bloß hier noch nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2
L NullPointerException lösen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben