Announcement

Collapse
No announcement yet.

Fehlermeldung :Nullpointerexception

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehlermeldung :Nullpointerexception

    Hi Folks,

    vorne weg, ich bin defintiv kein Java Guru und versuche gerade ein kleines Java Programm zu schreiben aber iimmer wieder kommt die Fehlermeldung:
    Exception in thread "main" java.lang.NullPointerException
    at CheckApp.<init>(CheckApp.java:23)
    at CheckApp.main(CheckApp.java:41)

    beim kompilieren..

    weisst jemand woran das liegt bzw. was da falsch wäre!

    1000 Dank für jede Hilfe...

    vinzi

    Ach so ja: emin Code sieht so aus:


    import javax.swing.*;

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowListener;
    import java.util.Random;


    public class CheckApp extends JFrame {

    public CheckApp(int size){

    super("CheckApp");
    // this.size = size;
    JPanel panel = new JPanel();
    JFrame frame = new JFrame();
    Random random = new Random();
    Color c = new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256));

    JCheckBox [] chb = new JCheckBox[size];
    for(int i = 0; i < size; i++) {
    chb[i].setBackground(c);
    panel.add(chb[i]);
    }
    this.getContentPane().add(panel, BorderLayout.CENTER);
    frame.add(panel);
    WindowListener listener = new WindowAdapter(){
    public void windowClosing(){
    System.exit(0);
    }
    };
    frame.addWindowListener(listener);
    frame.setSize(500, 250);
    frame.setVisible(true);
    }



    public static void main(String[] args){
    CheckApp cha = new CheckApp(6);


    }
    }

  • #2
    und welches ist Zeile 23?
    Christian

    Comment


    • #3
      moin,

      JCheckBox [] chb = new JCheckBox[size];

      damit hast du ein array für objekte vom typ JCheckBox, aber keine objekte drin. also nur null's.

      in for-schleife holst du aus array mit i kein objekt, sondern nur ein NULL. dann knallt natürlich mit NPE.

      du muss dein array mit objekten füllen.

      Comment


      • #4
        hier meine lösung

        JCheckBox[] chb = new JCheckBox[size];
        for (int i = 0; i < size; i++) {
        chb[i] = new JCheckBox();
        chb[i].setBackground(c);
        panel.add(chb[i]);
        }

        Comment

        Working...
        X