JFrame.setDefaultLookAndFeelDecorated(true);

Was*_*eem 5 java user-interface swing

当我在 Java 中使用 setDefaultLookAndFeelDecorated(true) 方法时,为什么当我最大化框架时框架出现全屏?以及如何在此方法中禁用全屏模式?

Ang*_*jpt 4

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

当使用跨平台外观(又名 Metal,这是 Windows 上的默认设置)时,Windows 版本将占据整个屏幕,使其看起来像全屏窗口。在 Mac 上,操作系统拒绝放弃自己的标题栏,并在 Mac 原生窗口中绘制完整的 Metal 框架(包括标题栏)。

因此,简而言之,如果您想确保任务栏得到尊重,请在 Windows 上使用 Windows 系统外观。您可以使用类似的东西来设置它

UIManager.setLookAndFeel((LookAndFeel) Class.forName(UIManager.getCrossPlatformLookAndFeelClassName()).newInstance());
Run Code Online (Sandbox Code Playgroud)

  • 您的意思是放置“UIManager.getSystemLookAndFeelClassName()”吗?`CrossPlatform` 是 Metal,它不是“Windows 系统外观”。 (2认同)