2010-09-16 51 views
5

我如何獲得真正可用的分辨率

Toolkit.getDefaultToolkit().getScreenSize()

我做geht屏幕尺寸。

但通常這不是我自己的程序可用的大小,因爲在Mac上有一個菜單欄和一個底部的圖標欄。 Windows確實有一個圖標欄。那麼,我如何獲得真正的可用空間?

回答

9

Java forum

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
Rectangle bounds = ge.getMaximumWindowBounds(); 

現在你有界限SANS依賴於平臺的桌面裝飾品。我周圍沒有Mac,所以我只驗證它可以在WinXP/JDK6上運行。

請注意,如果您自動隱藏任務欄,則界限不包含任務欄,這是正確的。

+0

是的,謝謝你,這個作品perfekt.On Mac OSX,也。 – 2010-09-16 15:25:36

+3

那麼,如果你能接受答案,我將不勝感激。 – 2010-09-16 16:11:20

+0

@Geoffrey這有改變應用程序的外觀和感覺的副作用,對嗎?這是必要的嗎?我不明白它對本地'GraphicsEnvironment'有什麼影響。 – muffin 2014-08-08 19:22:22

1

我不確定這是否能正常工作,而是嘗試使用GraphicsConfiguration/GraphicsDevice。由於碼頭區域仍被視爲屏幕空間,您可能無法獲得折扣OS X碼頭的邊框。我可以移動它的頂部。我也可以將底座移到側面而不是在屏幕底部(對於Windows任務欄也是如此)。

http://download.oracle.com/javase/6/docs/api/java/awt/GraphicsDevice.html

+0

我的回答只是向前邁進了一小步。 – 2010-09-16 14:55:36

相關問題