java编译能过,但运行出错

来源:百度知道 编辑:UC知道 时间:2024/06/23 06:21:04
import java.awt.*;
import javax.swing.*;
public class FlowLayoutDemo{
private JFrame frame;
private JButton button1,button2,button3;

public static void main(String args[]){
FlowLayoutDemo that=new FlowLayoutDemo();
that.go();
}
public void go(){
frame=new JFrame("flowLayout");
Container contentPane=frame.getContentPane();
contentPane.setLayout(new FlowLayout());

button1=new JButton("Yes");
button1=new JButton("No");
button1=new JButton("Cancle");

contentPane.add(button1);
contentPane.add(button2);
contentPane.add(button3);

frame.setSize(200,100);
frame.setVisible(true);
}
}

变量没有初始化,NullPointerException。
你把button1赋值重复了三次,却没有赋值给button2,button3等就直接使用了。
import java.awt.*;
import javax.swing.*;
public class FlowLayoutDemo{
private JFrame frame;
private JButton button1,button2,button3;

public static void main(String args[]){
FlowLayoutDemo that=new FlowLayoutDemo();
that.go();
}
public void go(){
frame=new JFrame("flowLayout");
Container contentPane=frame.getContentPane();
contentPane.setLayout(new FlowLayout());

button1=new JButton("Yes");
button2=new JButton("No"); //原来是button1=new JButton("No");
button3=new JButton("Cancle"); //原来是button1=new JButton("No");

contentPane.add(button1);
contentPane.add(button2);
contentPane.add(button3);

frame.setSize(200,100);
frame.setVisible(true);
}
}

你没有实例化button2和button3
你写的是
button1=new JButton(&q