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

Java 如何处理setVisible(false)后打开的JDialog?,java,swing,jdialog,windowlistener,Java,Swing,Jdialog,Windowlistener,这是一个场景: 将windowOpened()处理程序添加到JDialog的新实例 首次使用jdialog.setVisible显示对话框(true) 如预期:windowOpened()处理程序已触发 jdialog.setVisible(false) jdialog.setVisible(true) 应为,但未发生:已触发windowOpened()处理程序 当我第一次或以后调用setVisible(true)时,我的模式对话框出现在屏幕上,我该如何处理这种情况 当我的模态对话框出现在屏

这是一个场景:

  • 将windowOpened()处理程序添加到JDialog的新实例
  • 首次使用jdialog.setVisible显示对话框(true)
  • 如预期:windowOpened()处理程序已触发
  • jdialog.setVisible(false)
  • jdialog.setVisible(true)
  • 应为,但未发生:已触发windowOpened()处理程序
当我第一次或以后调用setVisible(true)时,我的模式对话框出现在屏幕上,我该如何处理这种情况

当我的模态对话框出现在屏幕上时,我如何处理这种情况 无论是第一次还是以后我打电话的时候 设置可见(真)

  • 必须使用ComponentListener,并重写componentHidden()和ComponentShowed()方法

  • JComponent必须从isDisplayable()返回true


可能重复的油井。。。参考是有用的,谢谢。但它不是重复的,因为我的问题是关于JDialog的,但不是jComponent的子类认为它是重复的,因为您的问题是我引用的问题的子集。不管怎样,很高兴你有答案。你真的很快=)谢谢!