使 Java 面板全屏显示

2022-09-03 04:21:24

您将如何制作(面板,框架,窗口等)全屏,以便它也与屏幕上的所有内容(包括窗口启动栏)重叠?JComponent

我不想用图形设备更改分辨率或任何内容,如bitdepth等,我只想重叠其他所有内容。


答案 1

查看本教程,了解 Java 的全屏模式 API。

示例代码(取自教程)。请注意,代码在 上运行,因此您需要嵌入 a(例如 )才能执行此操作。WindowJPanelWindowJFrame

GraphicsDevice myDevice;
Window myWindow;

try {
    myDevice.setFullScreenWindow(myWindow);
    ...
} finally {
    myDevice.setFullScreenWindow(null);
}

答案 2

您可以尝试此页面中的一些代码,以允许容器填充屏幕(因此它不是单个组件的解决方案,而是容器中的一组组件(如JFrame)

public class MainWindow extends JFrame
{
  public MainWindow()
  {
    super("Fullscreen");
    getContentPane().setPreferredSize( Toolkit.getDefaultToolkit().getScreenSize());
    pack();
    setResizable(false);
    show();

    SwingUtilities.invokeLater(new Runnable() {
      public void run()
      {
        Point p = new Point(0, 0);
        SwingUtilities.convertPointToScreen(p, getContentPane());
        Point l = getLocation();
        l.x -= p.x;
        l.y -= p.y;
        setLocation(l);
      }
    });
  }
  ...
}

推荐