代码之家  ›  专栏  ›  技术社区  ›  räph

在切换顶级窗口时,如何保持大型机在对话框后面?

  •  0
  • räph  · 技术社区  · 16 年前

    以下情况:

    我有一个JFrame和一个电话 JOptionPane.showInputDialog("test") . 将显示模式对话框。

    当我切换到Windows中的另一个打开窗口(让我们说Firefox),然后返回到我的Java应用程序(通过点击Windows任务栏中的选项卡或者用ALT+TAB),然后只显示对话框。

    切换到我的应用程序时,是否可以在对话框后面显示主框架? 例如,当您打开首选项对话框时,Eclipse的行为是所需的方式。日食是SWT,但也有可能是摇摆的!

    1 回复  |  直到 16 年前
        1
  •  2
  •   Amber Shah    16 年前

    我不知道如何用joptionpane的静态方法来实现这一点,因为您没有访问对话框本身的权限。但是,您可以通过创建自己的对话框并添加这样的侦听器来实现相同的目的:

        final JDialog dialog = new JDialog();
        dialog.setTitle("Test Input");
        dialog.setModal(true);
    
    
        dialog.addWindowFocusListener(new WindowFocusListener() {
    
            @Override
            public void windowLostFocus(WindowEvent arg0) {
    
            }
    
            @Override
            public void windowGainedFocus(WindowEvent arg0) {
                frame.toFront();        
            }
        });