2012-01-22 38 views
0

我想要一个JFrame填充整个屏幕并覆盖屏幕顶部和底部的任务栏。这是我设置JFrame尺寸和属性的代码;在Ubuntu中制作一个JFrame全屏

f.setUndecorated(true); 
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
f.setUndecorated(true); 
f.setAlwaysOnTop(true); 
f.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize()); 
f.setResizable(false); 
f.setVisible(true); 

在Windows中可以正常工作并覆盖开始栏,但在Ubuntu中,任务栏总是显示在Java GUI的顶部。

它可能是Ubuntu中的一个设置,意味着任务栏始终处于顶层。如果是这样,我该如何禁用它。

回答

1

我假设你正在谈论全屏独家模式?我非常肯定,在Ubuntu Precise中,您无法摆脱顶部或底部的任务栏,但您可以隐藏文档,如果这就是您的意思。要做到这一点,它是在系统设置,据我所知,没有Java代码将改变Ubuntu系统设置。
所有这一切,你可能想看看this,尤其是编程技巧。
另外,你可能希望有这行代码在你的程序:

GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
GraphicsDevice device = env.getDefaultScreenDevice(); 
device.setFullScreenWindow(f); 

这应该让你的JFrame全屏独占。这绝对会在Mac和Windows上工作,使Java程序全屏独占。

如果您仍然对任务栏感兴趣,请查看this。我希望它有帮助。