我已经找到了解决方案,但似乎找不到。
如果已经回答了,请将我链接到答案。我正在创建一个JFrame将其设置为全屏并更改显示模式。
一切正常,显示模式受我的图形卡支持(我已经检查过),所以一切正常。我将画布添加到JFrame,创建缓冲策略,并使用它在屏幕上绘制自定义图形。问题是,当显示模式更改并且JFrame进入全屏模式时,它不会覆盖全屏。这没有意义,因为显示模式为1024 x 768,画布大小也为1024 x768。
而是将画布以与不更改显示模式时相同的比例放置在屏幕的左上角。此外,图形不能正确绘制。当我不尝试更改显示模式并设置全屏时,一切正常。
这是三行代码,可将所有内容设置为全屏显示。
gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
gd.setFullScreenWindow(this);
gd.setDisplayMode(new DisplayMode(1024,768,32,48));
我正在运行Windows 10,并且我的正常显示模式是3840x2160。这是运行代码时发生的屏幕截图。
尽管看起来不像它,但显示模式肯定会随着屏幕变黑而变化,然后屏幕变得更小,更模糊。
答案 0 :(得分:0)
您是否尝试过使用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);
}
}