JFrame.setDefaultLookAndFeelDecorated(true);
-
02-07-2019 - |
Frage
wenn ich setDefaultLookAndFeelDecorated(true) -Methode in Java verwende Warum wird der Rahmen im Vollbildmodus angezeigt, wenn ich den Rahmen maximiere?und wie kann ich den Vollbildmodus bei dieser Methode deaktivieren?
Lösung
Einstellung setDefaultLookAndFeelDecorated
„true“ bewirkt, dass die Dekorationen durch das Aussehen und die Haptik gehandhabt werden;Dies bedeutet, dass ein System-Look-and-Feel sowohl auf Windows als auch auf Mac (ich habe derzeit kein Linux zur Hand) die Ränder beibehält, die Sie von einem nativen Fenster erwarten würden, z. B.Halten Sie sich von der Taskleiste in Windows fern.
Bei Verwendung des Cross-Platform-Look-and-Feel, auch bekannt alsMetal, die Standardeinstellung unter Windows, nimmt die Windows-Version den gesamten Bildschirm ein, sodass er wie ein Vollbildfenster aussieht.Auf dem Mac weigert sich das Betriebssystem, seine eigene Titelleiste preiszugeben, und zeichnet einen vollständigen Metallrahmen (einschließlich der Titelleiste) in einem Mac-nativen Fenster.
Kurz gesagt: Wenn Sie sicherstellen möchten, dass die Taskleiste berücksichtigt wird, verwenden Sie das Windows-System-Look-and-Feel unter Windows.Sie können es festlegen, indem Sie etwas wie verwenden
UIManager.setLookAndFeel((LookAndFeel) Class.forName(UIManager.getCrossPlatformLookAndFeelClassName()).newInstance());
Andere Tipps
Wenn Sie nicht möchten, dass Ihre JFrame zu maximieren-Lage sein, dann rufen Sie dann .setResizable (false); auf sich.