2011-01-06 63 views
0

如果模式JDialog显示在框架的顶部(框架是对话框的所有者),我应该在JFrame实例中注册哪个监听器?提前致谢。如果在JFrame顶部显示模式对话框,则通知

+0

@Charles是有原因的编辑和删除新的标签,因为我将编辑另一个Swing的相关线索与这两个标签... – mKorbel 2011-09-08 07:54:02

回答

2

我认为JFrame.addWindowListener(...)会工作,然后要注意WindowListener.windowDeactivated(...)

ETA:

jFrame.addWindowListener(new WindowAdapter() { 
     @Override 
     public void windowDeactivated(WindowEvent e) { 
      if(e.getOppositeWindow() instanceof JDialog) { 
       JDialog dialog = (JDialog) e.getOppositeWindow(); 
       if(dialog.isModal()) { 
        // do stuff 
       } 
      } 
     } 
    });