如何在全屏 Window 之上制作 JOptionPane?

How to make JOptionPane on top of a Fullscreen Window?

我找不到全屏的任何具体解决方案Window所以我想问一下。如何在全屏 Window 的顶部制作 JOptionPane?

在这里,我将全屏 window 作为构造函数参数。但是当我按下 ESC 时,我的 window 将自己发送到后台,就像我按下 "Alt+Tab" 一样。然后,如果我从开始菜单栏中单击 if,我可以在 window 的顶部看到它。但是我想结束这个发送后台problem.How我可以解决吗?

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
import java.awt.*;

public class KeyListenerTest extends JFrame implements KeyListener {
  private Window windo;
  private ImageIcon quitImage;

  public KeyListenerTest(Window window)
  {
    quitImage = new ImageIcon("quitask.png");
    windo = window;
    addKeyListener(this);
  }

  public void keyPressed(KeyEvent e) {  
    if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
      JOptionPane opti = new JOptionPane();
      int choice = opti.showConfirmDialog(windo, "Do you really want to quit?", "QUIT", JOptionPane.YES_NO_OPTION , 
                                          JOptionPane.QUESTION_MESSAGE  , quitImage);
      opti.requestFocusInWindow();
      if(choice == JOptionPane.YES_OPTION)
      {
        System.exit(0);
      }
      else
      {
        dispose();
        System.out.println("ESC key typed");
      }
    }
  }  
  public void keyTyped(KeyEvent e) {
  }

  public void keyReleased(KeyEvent e) {
  } 
}

这是我的 window 全屏

代码
  window=(Window)frame;
  window.setFocusable(true);

  KeyListenerTest keyo = new KeyListenerTest(window);
  frame.addKeyListener(keyo);

  g.setFullScreenWindow(window);

使用:

frame.setSize(300, 200); //or any other size you want for JFrame after changeing from maximalized state
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

而不是:

g.setFullScreenWindow(window);

适合我。