簡體   English   中英

全屏JFrame不覆蓋屏幕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM