2016-05-22 15 views
-2

Beim Ausführen erzeugt der Code einen Fehler und erstellt nicht das 4x4-Panel von JLabels. Die Referenz dieser Methode befindet sich oben in meinem Konstruktor. Warum wird mein JLabel-Array nicht angezeigt?Java - Ein Array von JLabels bearbeiten

public void createLabels() 
    { 
     pnlBoard.setLayout(new GridLayout(4,4, 5,5)); 
     for(int i = 0; i <= 16; i++) 
     { 
      lblBoard[i] = new JLabel(""); 
      lblBoard[i].setOpaque(true); 
      lblBoard[i].setBackground(Color.magenta); 
      lblBoard[i].setForeground(Color.white); 
      lblBoard[i].setFont(font1); 
      lblBoard[i].addMouseListener(this); 
      lblBoard[i].setName("" + i); 
      pnlBoard.add(lblBoard[i]); 
     } 
    } 
+0

'" ... der Code erzeugt einen Fehler ... "' - und Sie ** ** planen, diese Fehlermeldung mit uns zu teilen, richtig? –

+0

Anmerkung, dieses 'i <= 16; 'sollte' i <16 sein; ' –

+0

Ich erklärte bereits, der Code erzeugt einen Fehler bei dieser Methode. @HovercraftFullOfEels –

Antwort

2

Ein Problem, vielleicht dies:

lblBoard[i].setName("" + i); 

sollte sein:

lblBoard[i].setText("" + i); 

Warum würden Sie den Namen des JLabel Feld gesetzt werden soll? Der Text, den Sie wahrscheinlich ändern möchten (ist meine Vermutung).