黑马程序员技术交流社区
标题:
下面这个程序怎么一直提示空指针异常《已解决》
[打印本页]
作者:
杨朔
时间:
2012-6-22 10:11
标题:
下面这个程序怎么一直提示空指针异常《已解决》
本帖最后由 杨朔 于 2012-6-23 10:49 编辑
import java.awt.*;
import java.awt.event.*;
public class FrameDemo {
private Frame f;
private Button b;
public void init(){
f.setBounds(100, 200, 200, 300);
f.setLayout(new FlowLayout());
f.setVisible(true);
f=new Frame("my frame");
b=new Button("my button");
f.add(b);
myEvent();
}
private void myEvent(){
f.addWindowListener(new WindowAdapter(){
public void windowColsing(WindowEvent e){
System.out.println("tuichu");
System.exit(0);
}
});
}
FrameDemo(){
init();
}
public static void main(String[] args) {
new FrameDemo();
}
}
Exception in thread "main" java.lang.NullPointerException
at FrameDemo.init(FrameDemo.java:10)
at FrameDemo.<init>(FrameDemo.java:33)
at FrameDemo.main(FrameDemo.java:38)
作者:
丁二跃
时间:
2012-6-22 10:17
本帖最后由 丁二跃 于 2012-6-22 10:20 编辑
大哥贴代码吧,行数贴出来,这样看着不爽啊
init 方法中 f=new Frame("my frame");
应该放在最前面吧
作者:
淡然
时间:
2012-6-22 10:20
本帖最后由 淡然 于 2012-6-22 10:23 编辑
package hcy.test.main;
import java.awt.*;
import java.awt.event.*;
public class Test {
private Frame f;
private Button b;
public void init(){
f=new Frame("my frame");
b=new Button("my button");
//在你上面的程序中,没有生成Frame对象f时就开始使用f了,所以会出现NullPointException异常
f.setBounds(100, 200, 200, 300);
f.setLayout(new FlowLayout());
f.setVisible(true);
f.add(b);
myEvent();
}
private void myEvent(){
f.addWindowListener(new WindowAdapter(){
public void windowColsing(WindowEvent e){
System.out.println("tuichu");
System.exit(0);
}
});
}
Test(){
init();
}
public static void main(String[] args) {
new Test();
}
}
作者:
吴小铁你好
时间:
2012-6-22 10:52
你没有创建Frame对象啊。可以这样:
package cn.java.xml;
import java.awt.*;
import java.awt.event.*;
public class FrameDemo {
private Frame f;
private Button b;
public void init(){
f=new Frame();
f.setBounds(100, 200, 200, 300);
f.setLayout(new FlowLayout());
f.setVisible(true);
f=new Frame("my frame");
b=new Button("my button");
f.add(b);
myEvent();
}
private void myEvent(){
f.addWindowListener(new WindowAdapter(){
public void windowColsing(WindowEvent e){
System.out.println("tuichu");
System.exit(0);
}
});
}
FrameDemo(){
init();
}
public static void main(String[] args) {
new FrameDemo();
}
}
复制代码
作者:
李柏旺
时间:
2012-6-22 13:44
这个异常好解决,直接看异常行,很容易找
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2