5

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

4

2 回答 2

4

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

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

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

UIManager.setLookAndFeel((LookAndFeel) Class.forName(UIManager.getCrossPlatformLookAndFeelClassName()).newInstance());
于 2008-09-27T17:56:05.267 回答
0

如果你不希望你的 JFrame 可以最大化然后调用 .setResizable(false); 在上面。

于 2008-09-26T12:31:31.810 回答