Java GUI编程

Pra*_*hra -5 java swing scope nullpointerexception

代码给出了nullpointer异常的错误..... wat做什么?

import java.awt.event.*;
import javax.swing.*;

public class Gui implements ActionListener{
JButton button;

public Gui(){
    JFrame frame=new JFrame();
    JButton button =new JButton("click me!");
    button.addActionListener(this);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(button);
    frame.setSize(270,300);
    frame.setVisible(true);
}
public static void main(String[] args){
    new Gui();
}

public void actionPerformed(ActionEvent e){
    button.setText("I've been clicked");
}

}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 12

JButton button =new JButton
Run Code Online (Sandbox Code Playgroud)

这会创建一个局部变量.
这个button领域还在null.


Rob*_*ner 5

button在actionPerformed方法中引用的字段从不初始化,因此为null.

你有这个按钮JButton button =new JButton("click me!");,你在主方法中添加,但你的actionPerformed永远不会意识到这一点.

将行更改为读取

this.button =new JButton("click me!");