【发布时间】:2013-06-20 21:43:07
【问题描述】:
在 Ubuntu 中(实际上是统一的),我无法将 swing 的 JFrame 设为全屏。我尝试了很多用 stackoverflow 编写的方法,但没有一个对我有用。
我正在尝试开发一款游戏,我只需要在屏幕上看到我的游戏。但是,ubuntu 强制我在上面显示 Unity Launcher 和菜单栏(时钟、wifi 图标等)。
如何以全屏模式运行我的 Java 程序?这是我的代码:
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import javax.swing.JFrame;
public class Starter extends JFrame {
private static final long serialVersionUID = -2656706278597877008L;
public static void main(String[] args) {
new Starter();
}
public Starter() {
super(UIConstants.FRAME_TITLE);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setUndecorated(true);
makeFullScreen();
setVisible(true);
}
private void makeFullScreen() {
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
device.setFullScreenWindow(this);
}
}
而这个程序如下所示:
【问题讨论】:
-
你有没有试过也调用 setSize: frame.setSize(screen.getDisplayMode().getWidth(), screen.getDisplayMode().getHeight());
-
我是在GraphicsDevice device = env.getDefaultScreenDevice();之后写的但它没有用。
-
我也从 OpenJDK 的 JRE 换成了 Sun JRE,没有任何改变。
标签: java swing ubuntu jframe fullscreen