加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 停止全屏窗口以最小化JOptionPane.showMessageDialog?

发布时间:2020-12-15 02:31:32 所属栏目:Java 来源:网络整理
导读:代码 private MainApp() /* Extends JFrame */{ DisplayMode displayMode = new DisplayMode(800,600,16,75); ScreenManager.setFullScreenWindow(displayMode,this);} 问题 每当我打电话: JOptionPane.showMessageDialog(MainApp.getInstance(),"Test Mess
代码

private MainApp() /* Extends JFrame */{
    DisplayMode displayMode = new DisplayMode(800,600,16,75);
    ScreenManager.setFullScreenWindow(displayMode,this);
}

问题

每当我打电话:

JOptionPane.showMessageDialog(MainApp.getInstance(),"Test Message Box");

窗口由于某种原因最小化,然后我必须重新激活它.重新激活窗口后,消息框显示.

问题

有什么方法可以阻止全屏窗口在我调用消息框时最小化吗?

解决方法

每当显示模式对话框(JOptionPane,JFileChooser等)时,JFrame都会获得一个WINDOW_DEACTIVATED WindowEvent.当您的应用程序显示为全屏时,只需忽略窗口停用:

@Override
protected void processWindowEvent(WindowEvent e)
{
    if (e.getID() == WindowEvent.WINDOW_DEACTIVATED)
    {
        // windowState is set in my set full screen code
        if (windowState == WindowState.FULL_SCREEN)
        {
            return;
        }
    }        

    super.processWindowEvent(e);        
}

务必正确设置模态对话框的父级:

fileChooser.showOpenDialog(this);

“this”是你最顶级的JPanel,JInternalFrame或JFrame.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读