如何在JLabel数组中设置元素的文本?

时间:2016-05-15 17:25:09

标签: java arrays swing nullpointerexception jlabel

我想在实例化后更改数组中JLabel上显示的文本。 我目前得到一个java.lang.NullPointerException。

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
    }
}

1 个答案:

答案 0 :(得分:2)

您正在实例化数组,但它们中没有值。因此,如果您访问labelArray[0],它将返回null。

您应该设置数组的值:

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

现在您可以在没有NullPointer例外的情况下访问标签。