当我在Java中使用setDefaultLookAndFeelDecorated(true)方法时 当我最大化帧时,为什么Frame会出现FullScreen? 以及如何在此方法中取消FullScreen模式?

有帮助吗?

解决方案

setDefaultLookAndFeelDecorated 设置为true会导致装饰由外观处理;这意味着Windows和Mac上的系统外观(我现在没有Linux)保留了您期望它们的本机窗口的边界,例如远离Windows中的任务栏。

使用跨平台外观,a.k.a.Metal,这是Windows上的默认设置,Windows版本将接管整个屏幕,使其看起来像一个全屏窗口。在Mac上,操作系统拒绝泄露自己的标题栏,并在Mac原生窗口中绘制完整的金属框架(包括标题栏)。

因此,简而言之,如果您想确保任务栏得到尊重,请在Windows上使用Windows系统外观。您可以使用

之类的东西来设置它
UIManager.setLookAndFeel((LookAndFeel) Class.forName(UIManager.getCrossPlatformLookAndFeelClassName()).newInstance());

其他提示

如果您不希望JFrame能够最大化,那么请调用.setResizable(false);在上面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top