【问题标题】:How can I change the visibility of a JTextArea/JTextLabel?如何更改 JTextArea/JTextLabel 的可见性?
【发布时间】:2012-09-22 20:10:27
【问题描述】:

我尝试使用.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);
    }

以上所有代码都是单独的代码 sn-ps,在我添加第三个 sn-p 之前,它们可以完美运行。

【问题讨论】:

  • 你不应该得到 NullPointerException...发布你的代码,你做错了什么。
  • 为了可见性,请尝试.setVisible(true)。对于大小,您是指 JTextArea 吗?如果是这样,请使用.setSize(Width, Height)。如果这对您有帮助,那么我建议您在下次询问 stackoverflow 之前先搜索 Google

标签: java swing visibility


【解决方案1】:

换句话说,转到这一行:

JLabel lblName = new JLabel("Name:");

说出来

lblName = new JLabel("Name:");

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

【讨论】:

    【解决方案2】:

    从你问题中的代码来看:

    你有一个字段和本地JLabel lblName 您没有初始化字段,只有局部变量。因此你的例外。

    【讨论】:

    • so.. like public JLabel lblName = new JLabel("Name:"); ?
    • 或者你可以简单地做 lblName = new JLabel("Name:");在你的方法中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2017-10-14
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2016-06-24
    • 2021-03-12
    相关资源
    最近更新 更多