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:”);用你的方法。