如何处理setVisible(false)后打开的JDialog?

时间:2013-04-25 11:29:48

标签: java swing jdialog windowlistener

这是情景:

  • 将windowOpened()处理程序添加到JDialog的新实例
  • 首次使用jdialog.setVisible(true)
  • 显示对话框
  • 如预期的那样:windowOpened()处理程序已触发
  • jdialog.setVisible(假)
  • jdialog.setVisible(真)
  • 预期,但未发生:windowOpened()处理程序已触发

当我第一次或以后调用setVisible(true)时,我的模态对话框出现在屏幕上时如何处理情况?

1 个答案:

答案 0 :(得分:3)

  

当我的模态对话框出现在屏幕上时,如何处理情况   无论何时第一次或以后我打电话   setVisible(true)?

  • 必须使用ComponentListener,并覆盖方法componentHidden()和componentShown()

  • JComponent必须从isDisplayable()

  • 返回true
  • more here