当我在Java中使用setDefaultLookAndFeelDecorated(true)方法时为什么当我最大化帧时框架显示为全屏?以及如何在此方法中禁用全屏模式?
将setDefaultLookAndFeelDecorated
设置为 true 会导致装饰由外观处理;这意味着 Windows 和 Mac 上的系统外观(我现在手头没有 Linux)保留了您期望的本机窗口的边框,例如,在 Windows 中远离任务栏。
当使用跨平台外观时,又名Metal,这是Windows上的默认设置,Windows版本将接管整个屏幕,使其看起来像一个全屏窗口。在 Mac 上,操作系统拒绝放弃自己的标题栏,并在 Mac 本机窗口中绘制完整的 Metal 框架(包括标题栏)。
因此,简而言之,如果您想确保任务栏得到尊重,请在Windows上使用Windows系统外观。您可以使用类似的东西来设置它
UIManager.setLookAndFeel((LookAndFeel) Class.forName(UIManager.getCrossPlatformLookAndFeelClassName()).newInstance());
如果你不希望你的 JFrame 最大化,那么调用 .setRessizeable(false);