2012-01-22 33 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。我希望它有幫助。