2015-12-17 3 views
0

star это мой char[]:Почему в панели не отображается массив jlabel?

Label[] labels = new JLabel[20]; 
for (int k = 0; k < star.length; k++) { 
    labels[k] = new JLabel("x"); 
    xPanel.add(labels[k]); 
} 
+0

Это для программы палача –

+1

Cn вы делитесь ["Минимальным, полным и проверяемым примером"] (http://stackoverflow.com/help/mcve)? – Betlista

+0

Трудно комментировать на основе этого ограниченного кода, который вы опубликовали. Вы уверены, что xPanel добавлен в ваш JFrame где-нибудь? – ControlAltDel

ответ

1

Это прекрасно работает для меня:

public class MyFrame extends JFrame { 

    public static void main(final String[] args) { 
     final JFrame frame = new JFrame(); 
     frame.setLayout(new FlowLayout()); 
     final JLabel[] labels = new JLabel[20]; // replaced Label with JLabel 
     for (int k = 0; k < labels.length; k++) { // replaces star with labels 
      labels[k] = new JLabel("x"); 
      frame.add(labels[k]); 
     } 
     frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     frame.setVisible(true); 
    } 

} 

и результат (после того, как рамка изменения размера):

frame screenshot

+0

String [] wordsIncluded = {"apple", "hello", "ferrari"}; Random random = new Random(); Строковое слово = wordsIncluded [random.nextInt (wordsIncluded.length)]; char [] star = word.toCharArray(); JLabel [] labels = new JLabel [20]; для (int k = 0; k

+0

Вы попробовали? Если я добавлю элемент, создающий звездный массив, он все равно будет работать. Измените свой вопрос и добавьте соответствующие данные ... – Betlista

0
panel.updateUI(); 

You должен использовать этот метод для обновления e jlabel array

Смежные вопросы