[英]Full screen JFrame doesn't cover screen
我已經找到了解決方案,但似乎找不到。
如果已經回答了,請將我鏈接到答案。 我正在創建一個JFrame將其設置為全屏並更改顯示模式。
一切正常,顯示模式受我的圖形卡支持(我已經檢查過),所以一切正常。 我將畫布添加到JFrame,創建緩沖策略,並使用它在屏幕上繪制自定義圖形。 問題是,當顯示模式更改並且JFrame進入全屏模式時,它不會覆蓋全屏。 這是沒有意義的,因為顯示模式是1024 x 768,畫布大小也是1024 x 768。
而是將畫布以與不更改顯示模式時相同的比例放置在屏幕的左上角。 此外,圖形不能正確繪制。 當我不嘗試更改顯示模式並設置全屏時,一切正常。
這是三行代碼,可將所有內容設置為全屏。
gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
gd.setFullScreenWindow(this);
gd.setDisplayMode(new DisplayMode(1024,768,32,48));
我正在運行Windows 10,並且我的正常顯示模式是3840x2160。 這是運行代碼時發生的屏幕截圖。
盡管看起來不像它,但顯示模式肯定會隨着屏幕變黑而變化,然后屏幕變得更小,更模糊。
您是否嘗試過使用setExtendedState最大化窗口? (例如下面的示例)
import javax.swing.JFrame;
public class MaximizedFrame
{
public static void main(String[] args)
{
JFrame frame = new JFrame("My Frame");
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.