java - Java 中的空指针异常错误

标签 java nullpointerexception jlabel

所以我之前写了这段代码,没有方法和参数传递,而且效果很好!

但是一旦我开始使用方法和传递参数使其更有条理,我就会遇到空指针异常。为什么我会收到这样的错误?

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


public class test {

    private static JLabel label;

    public static void main(String[] args){
        initializeLabel();
        initializeFrame(label);
    }

    private static void initializeLabel(){
        JLabel label = new JLabel();

        label.setText("hi");

    }

    private static void initializeFrame(JLabel label){
        JFrame frame = new JFrame();
        frame.add(label);
        frame.setVisible(true);
    }

}

最佳答案

问题是这个函数:

private static void initializeLabel(){
    JLabel label = new JLabel(); // This creates a new variable named label
    label.setText("hi");
}

您正在尝试初始化 this.label,但您只是在创建一个新变量并为其赋值。将其更改为:

private static void initializeLabel(){
    label = new JLabel(); // or this.label = new JLabel();
    label.setText("hi");
}

关于java - Java 中的空指针异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8046178/

相关文章:

java - 如果 Key 是文件对象,Java 如何比较它?

java - 如何从 wsdl 生成请求和响应类?

java - 清除 Activity 堆栈

java - 在 Java 中获取 NullPointerException

java - 添加一个将 JLabel 扩展到带有 gridlayout 的面板中的类

java - 一种将 bufferedImage 设置为单个彩色像素而不将图像放入其中的简单方法?

java - 使用 Java Spring 启用 https 的问题

java : NullPointerAccess (NullPointerException) in swith case

Jboss HornetQ EJBTransactionRolledbackException

Java-单击按钮时更改标签文本