2016-05-15 8 views
0

インスタンス化後に配列内のJLabelに表示されるテキストを変更したいとします。 現在、java.lang.NullPointerExceptionが発生しています。JLabel配列の要素のテキストを設定するには?

import javax.swing.JFrame; 
import javax.swing.JLabel; 

public class App 
{ 
    public static void main(String[] args) 
    { 
     JFrame frame = new JFrame("Swing Frame"); 

     JLabel[] labelArray = new JLabel[2]; 

     labelArray[0].setText("a"); 
     labelArray[1].setText("b"); 

     frame.add(labelArray[0]); 
     frame.add(labelArray[1]); 

     frame.setSize(350, 200); // width=350, height=200 
     frame.setVisible(true); // Display the frame 
    } 
} 

答えて

2

アレイはインスタンス化されていますが、値はありません。したがって、labelArray[0]にアクセスするとnullが返されます。

あなたは、配列の値を設定する必要があります。

JLabel[] labelArray = new JLabel[2]; 
labelArray[0] = new JLabel("someText"); 
labelArray[1] = new JLabel("someText"); 

今、あなたがnullpointer例外なしでラベルにアクセスすることができます。

関連する問題