0

以下情况:

我有一个 JFrame 并调用JOptionPane.showInputDialog("test"). 将显示模态对话框。

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

切换到我的应用程序时是否可以在对话框后面显示主框架?例如,当您打开 Preferences 对话框时,Eclipse 会以所需的方式运行。Eclipse 是 SWT,但也许在 Swing 中也是可能的!

4

1 回答 1

2

我不知道如何使用 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();        
        }
    });
于 2010-03-11T15:37:48.403 回答