看起来似乎是线程的执行快慢导致的问题。
可能是你在show出Dialog前计时器已经过了一秒。
你的计时器死掉是什么意思? listener被调用又和这个问题有什么关系?
可能是你在show出Dialog前计时器已经过了一秒。
你的计时器死掉是什么意思? listener被调用又和这个问题有什么关系?
解决方案 »
- eclipse插件开发的时候如何把导出来的插件变成目录
- 怎样在同一个JFrame里面显示不同panel的内容?
- java 线程同步问题
- 关于GUI的问题
- Runtime.exit(int status)方法的问题。
- 改变颜色的事件的小程序 但是按钮放在panel里面 panel的颜色不变怎么办?
- 请问各位一个初学者的问题:jbulider9中如何将jTree中的内容初始值置为空?
- 讨论 动态表单 解决思路
- 急急:高分请教:在applet中调用javascript函数出错:
- java实现字符串的操作
- 请问怎么在linux下安装j2eesdk。。。gong1(轻松编程)也帮帮我。。。
- 请问如何获得在windows里有哪些窗口已经打开了的?
奇怪的是,我的dialog是modal的,在第一次窗口没有被关掉的之前,listner是不会被再次调用的。但是事实上调用了。(listener是table的行选择变化事件的listener)
我帮你看看忘记放哪里了。我try一下。时间太长了。我以前有个类似的问题!
如果,没有找到。搂住别生气啊。呵呵
如果按下方向键不放,会产生多个键盘事件,排在事件处理线程中,然后调用选择多次行列变化事件。按理是在模式对话框弹出之后,父组件应该不在接受键盘响应,但是此时可能还有在事件队列中派发事件,于是还是会请求弹出对话框,Timer线程会去销毁模式对话框,是否在获取某些资源是和不断请求对话框的事件线程造成死锁了?
感觉非模式对话框应该不会有死的问题。
利用SwingUtilities.invokeLater(Runnable doRun)调用,应该可以解决。
至于Timer,我用的是javax.swing.Timer,API DOC中说,这个Timer调用会放在Swing事件线程中,所以是安全的,不用在调用SwingUtilities.invokeLater(Runnable doRun)
谢谢:D