...出现异常,望解决,谢谢Exception in thread "main" java.lang.NullPo...
发布网友
发布时间:2024-10-04 19:16
我来回答
共4个回答
热心网友
时间:2024-10-04 19:17
异常:Exception in thread "main" java.lang.NullPointerException
at ColoredRectangle.paint(ColoredRectangle.java:34)
at SeeingDouble.main(SeeingDouble.java:26)
原因:在public void ColoredRectangle方法中传入的JFrame f的visible属性是false,所以在public void paint方法中得到的Graphics g = window.getGraphics()是null,所以会报空指针异常
解决:在传入之前设置display.setVisible(true);或在public void paint方法中作一下判断:
public void paint() {
if(!window.isVisible()) {
window.setVisible(true);
}
Graphics g = window.getGraphics();
g.setColor(color);
g.fillRect(x, y, width, height);
}
PS:虽然程序目的没达到,但是错误是找到了!
热心网友
时间:2024-10-04 19:12
用eclipse来开发吧,这种类型的问题有很好的提示功能
热心网友
时间:2024-10-04 19:12
这个错误就是你的编译器用的不对,要用MyEclipse
热心网友
时间:2024-10-04 19:17
"java.lang.NullPointerException" 空指针异常
g.setColor(color); //提示这行有问题
w.paint();//提示这行有问题
回答:
ColoredRectangle里面color属性你定义的是私有的,除了这个类其他类都无法访问,g是Graphics类的对象,不是ColoredRectangle的对象,所以g调用setColor()方法,color属性无法访问.所以报异常,你可以改private为public