为什么带对话框的frame在隐藏、恢复两次之后对话框不见了?

grantchang 2003-10-10 10:49:16
在一个frame里弹出一个对话框,在另一个线程里每隔一段时间隐藏一下frame,然后再恢复。如此两次之后,对话框不见了。隐藏用的frame.setVisible(false),恢复用的事frame.setVisible(true)。
...全文
50 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shipp 2003-10-10
  • 打赏
  • 举报
回复
UP
grantchang 2003-10-10
  • 打赏
  • 举报
回复
对话框的owner时frame。这个对话框是模态的。
jokerjava 2003-10-10
  • 打赏
  • 举报
回复
估计打开的是有模式对话框
cwell 2003-10-10
  • 打赏
  • 举报
回复
对话框有没有指定frame为owner?
grantchang 2003-10-10
  • 打赏
  • 举报
回复
回jokerjava:
模态对话框在调用show()的时候,如果不关掉是不会返回的。所以程序会停留在dialog.show()处,如果不关掉对话框,根本不会执行this.setVisible(false);
可以用多线程来实现,在另一个线程里调用setVisible()方法。
jokerjava 2003-10-10
  • 打赏
  • 举报
回复
在模态的情况下
frame.setVisible(false),这句话是不起作用的

应为它是模态的 所以frame不接受事件的

你的做法不可能会出现 只有把对话框关掉frame.setVisible(false)
这句话才会发挥效用


用下面的代码测试过
JDialog dialog = new JDialog(this, true);
dialog.show();
this.setVisible(false);
this.setVisible(true);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧