java - 如何使 JOptionPane 位于全屏窗口之上?

标签 java window jpanel fullscreen joptionpane

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

在这里,我将全屏窗口作为构造函数参数。但是当我按 ESC 时,我的窗口将自身发送到后台,就像我按“Alt+Tab”一样。然后,如果我从开始菜单栏单击 if ,我可以在窗口顶部看到它。但我想解决这个发送后台问题。我该如何解决它?

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)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);

对我有用。

关于java - 如何使 JOptionPane 位于全屏窗口之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30139726/

相关文章:

java - Apache Spark - JavaSparkContext 无法转换为 SparkContext 错误

java - Splitter 在简单的 Pattern 上爆炸

java - 我的涉及 JFrame 的代码有什么问题

java - 防止调整窗口大小

windows - 收集所有事件窗口类名

java - 如何用SwingWorker制作多线程?

java - 从服务器编码 RMI 客户端回调时遇到问题 - UnmarshalException ClassNotFoundException

Java - 将项目放置在 JPanel 中,就像在 JFrame 中一样

java - gridheight 不会影响我的按钮

java - 杀死所有进程,强制一切停止