由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 这个应该是java本身的错误吧?
相关主题
Concurrent Exception in Swing为啥画不出来?
paint()呀,repaint()呀问个进度条的问题
怎么控制paint?questions on repaint()
Java Paint()可以被中断吗?how to update swing components
问个exception的问题怎么可以练习多线程编程呢?
Is it possible to get Class object for T from a generic class? (下列空档,是否可填)Re: print problem, GUI guru please come in
generics这样改对马?Re: JPanel help!
关于new operator的问题Re: Swing问题
相关话题的讨论汇总
话题: paint话题: 变量话题: null
进入Java版参与讨论
1 (共1页)
b***i
发帖数: 3043
1
一个控制定自定义的SplashWindow的类,定了一个timer.schedule(task, 0, 100);其
中 task=new TimerTask(){.....run(){splashWindow.repaint();},
关闭窗口的时候timer.cancel();然后通过invokeLater调用splashWindow.dispose();
splashWindow=null等,希望gc来析构变量。
splashWindow是属于 private class SplashWindow extends JFrame{
其中构造函数初始化了 canvas= new BufferedImage(....);
}
还有public void paint(Graphics graphics){
if (fImage != null && running) {
Graphics2D g=canvas.createGraphics();
g.drawImage(base, 0, 0, this);
g.drawImage(bf, 0, 0, this);
----〉 graphics.drawImage(canvas, 0, 0, this);
}
}
标记的那一行出了NullPointerException。这是在运行了120多次的时候出现的,应该
就是程序关闭自己定义的SplashWindow这个窗口的时候。
难道变量都null了,该gc来清除了,(timer虽然取消了,但是队列里面可能还有一个,
或者系统还有一个repaint的消息), 窗口发生dispose了,这个时候paint还会被调用?
当然,我可以增加一个变量让paint直接返回。 我想知道这是不是java的问题?还是一
个变量被gc清除的时候,仍然会发生paint?还是我不应该InvokeLater?应该
invokeAndWait?
c*********e
发帖数: 16335
2
到stackoverflow上去问。

;

【在 b***i 的大作中提到】
: 一个控制定自定义的SplashWindow的类,定了一个timer.schedule(task, 0, 100);其
: 中 task=new TimerTask(){.....run(){splashWindow.repaint();},
: 关闭窗口的时候timer.cancel();然后通过invokeLater调用splashWindow.dispose();
: splashWindow=null等,希望gc来析构变量。
: splashWindow是属于 private class SplashWindow extends JFrame{
: 其中构造函数初始化了 canvas= new BufferedImage(....);
: }
: 还有public void paint(Graphics graphics){
: if (fImage != null && running) {
: Graphics2D g=canvas.createGraphics();

b***i
发帖数: 3043
3
最后发现是我的错误/

【在 c*********e 的大作中提到】
: 到stackoverflow上去问。
:
: ;

1 (共1页)
进入Java版参与讨论
相关主题
Re: Swing问题问个exception的问题
农民运动讲习所1. Thread and paint()Is it possible to get Class object for T from a generic class? (下列空档,是否可填)
question about repaint, update and paintgenerics这样改对马?
Re: Question: OutOfMemoryError when draw关于new operator的问题
Concurrent Exception in Swing为啥画不出来?
paint()呀,repaint()呀问个进度条的问题
怎么控制paint?questions on repaint()
Java Paint()可以被中断吗?how to update swing components
相关话题的讨论汇总
话题: paint话题: 变量话题: null