Java 如何更改JTextArea/JTextLabel的可见性?

Java 如何更改JTextArea/JTextLabel的可见性?,java,swing,visibility,Java,Swing,Visibility,我尝试使用.setVisibility(true),但得到了NullPointerException。我如何才能更有效地做到这一点?我希望标签和字段开始不可见,然后在用户按下按钮时变为可见。我还想更改对象的大小。思想? 下面是一行错误: public JLabel lblName; JLabel lblName = new JLabel("Name:"); lblName.setFont(new Font("Tahoma", Font.PLAIN, 15)); l

我尝试使用
.setVisibility(true)
,但得到了
NullPointerException
。我如何才能更有效地做到这一点?我希望标签和字段开始不可见,然后在用户按下按钮时变为可见。我还想更改对象的大小。思想? 下面是一行错误:

public JLabel lblName;




    JLabel lblName = new JLabel("Name:");
    lblName.setFont(new Font("Tahoma", Font.PLAIN, 15));
    lblName.setBounds(10, 91, 79, 19);
    panel.add(lblName);
    lblName.setVisible(false);


    public void actionPerformed(ActionEvent e) {
        lblName.setVisible(true);
    }

在我添加第三个代码段之前,以上所有代码段都是独立的代码段,工作完美无瑕。

从您问题中的代码判断:

您有一个字段和本地
JLabel lblName

您没有初始化字段,只是初始化局部变量。因此您有例外。

换句话说,请转到这一行:

JLabel lblName = new JLabel("Name:");
让它说

lblName = new JLabel("Name:");

发生的情况是,您启动了一个新的局部变量,但从未设置公共变量。

您不应该得到NullPointerException。。。发布代码时,您做错了。要查看可见性,请尝试
.setVisible(true)
。你指的是面积吗?如果是这样,请使用
.setSize(宽度、高度)
。如果这对你有帮助的话,我建议你在下一次询问stackoverflow之前先搜索谷歌。。像publicjlabel lblName=newjlabel(“名称:”)?或者您可以简单地执行lblName=newjlabel(“Name:”);用你的方法。