This is an automated email from the ASF dual-hosted git repository.
ebakke pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 31085b5 [NETBEANS-6468] Fix LAF detection on Windows 11 and Java 17.
31085b5 is described below
commit 31085b508268cdec1c55b6de618c6b748f32ac18
Author: Eirik Bakke <[email protected]>
AuthorDate: Sat Feb 19 14:40:00 2022 -0500
[NETBEANS-6468] Fix LAF detection on Windows 11 and Java 17.
---
.../windows/view/ui/CloseButtonTabbedPane.java | 7 +++++-
.../src/org/netbeans/swing/plaf/Startup.java | 11 +++++++---
.../src/org/openide/awt/CloseButtonFactory.java | 25 +++++++++++-----------
.../src/org/netbeans/lib/profiler/ui/UIUtils.java | 2 +-
4 files changed, 28 insertions(+), 17 deletions(-)
diff --git
a/platform/core.windows/src/org/netbeans/core/windows/view/ui/CloseButtonTabbedPane.java
b/platform/core.windows/src/org/netbeans/core/windows/view/ui/CloseButtonTabbedPane.java
index c38c9c1..31a7ac2 100644
---
a/platform/core.windows/src/org/netbeans/core/windows/view/ui/CloseButtonTabbedPane.java
+++
b/platform/core.windows/src/org/netbeans/core/windows/view/ui/CloseButtonTabbedPane.java
@@ -339,6 +339,11 @@ final class CloseButtonTabbedPane extends JTabbedPane
implements PropertyChangeL
|| (osName.equals( "Windows NT (unknown)" ) && "10.0".equals(
System.getProperty("os.version") ));
}
+ private static boolean isWindows11() {
+ String osName = System.getProperty ("os.name");
+ return osName.indexOf("Windows 11") >= 0;
+ }
+
private boolean isWindowsVistaLaF() {
String osName = System.getProperty ("os.name");
return osName.indexOf("Vista") >= 0
@@ -551,7 +556,7 @@ final class CloseButtonTabbedPane extends JTabbedPane
implements PropertyChangeL
@Override
public void setText(String text) {
super.setText(text);
- if (isWindowsLaF() && isWindows10()) {
+ if (isWindowsLaF() && (isWindows10() || isWindows11())) {
int r = text.endsWith(" ") ||
text.endsWith(" </html>") ? 0 : 3; // NOI18N
setBorder(BorderFactory.createEmptyBorder(0, 0, 0, r));
}
diff --git a/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
b/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
index 069d2c8..3b49194 100644
--- a/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
+++ b/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
@@ -436,7 +436,7 @@ public final class Startup {
buf.append("Nb."); //NOI18N
buf.append(UIManager.getLookAndFeel().getID());
if (UIUtils.isXPLF()) {
- if (isWindows8() || isWindows10()) {
+ if (isWindows8() || isWindows10() || isWindows11()) {
buf.append("Windows8LFCustoms"); //NOI18N
} else if (isWindowsVista() || isWindows7()) {
buf.append("VistaLFCustoms"); //NOI18N
@@ -461,7 +461,7 @@ public final class Startup {
switch
(Arrays.asList(knownLFs).indexOf(UIManager.getLookAndFeel().getID())) {
case 1 :
if (UIUtils.isXPLF()) {
- if( isWindows8() || isWindows10() ) {
+ if( isWindows8() || isWindows10() || isWindows11() ) {
result = new Windows8LFCustoms();
} else if (isWindowsVista() || isWindows7()) {
result = new VistaLFCustoms();
@@ -487,7 +487,7 @@ public final class Startup {
default :
// #79401 check if it's XP style LnF, for example jGoodies
if (UIUtils.isXPLF()) {
- if (isWindows8() || isWindows10()) {
+ if (isWindows8() || isWindows10() || isWindows11()) {
result = new Windows8LFCustoms();
} else if (isWindowsVista() || isWindows7()) {
result = new VistaLFCustoms();
@@ -576,6 +576,11 @@ public final class Startup {
|| (osName.equals( "Windows NT (unknown)" ) && "10.0".equals(
System.getProperty("os.version") ));
}
+ private static boolean isWindows11() {
+ String osName = System.getProperty ("os.name");
+ return osName.indexOf("Windows 11") >= 0;
+ }
+
private static boolean isMac() {
String osName = System.getProperty ("os.name");
boolean result = osName.startsWith ("Darwin") || "Mac OS
X".equals(osName);
diff --git a/platform/openide.awt/src/org/openide/awt/CloseButtonFactory.java
b/platform/openide.awt/src/org/openide/awt/CloseButtonFactory.java
index 3f244b3..48f1a99 100644
--- a/platform/openide.awt/src/org/openide/awt/CloseButtonFactory.java
+++ b/platform/openide.awt/src/org/openide/awt/CloseButtonFactory.java
@@ -89,12 +89,8 @@ public final class CloseButtonFactory{
return isWindowsLaF() && (isWindowsVista() || isWindows7()) &&
isWindowsXPLaF();
}
- private static boolean isWindows8LaF() {
- return isWindowsLaF() && isWindows8() && isWindowsXPLaF();
- }
-
- private static boolean isWindows10LaF() {
- return isWindowsLaF() && isWindows10() && isWindowsXPLaF();
+ private static boolean isWindows8OrAboveLaF() {
+ return isWindowsLaF() && (isWindows8() || isWindows10() ||
isWindows11()) && isWindowsXPLaF();
}
private static boolean isWindowsVista() {
@@ -109,6 +105,11 @@ public final class CloseButtonFactory{
|| (osName.equals( "Windows NT (unknown)" ) && "10.0".equals(
System.getProperty("os.version") ));
}
+ private static boolean isWindows11() {
+ String osName = System.getProperty ("os.name");
+ return osName.indexOf("Windows 11") >= 0;
+ }
+
private static boolean isWindows8() {
String osName = System.getProperty ("os.name");
return osName.indexOf("Windows 8") >= 0
@@ -151,7 +152,7 @@ public final class CloseButtonFactory{
}
}
if( null == closeTabImage ) {
- if( isWindows8LaF() || isWindows10LaF() ) {
+ if( isWindows8OrAboveLaF() ) {
closeTabImage = Windows8VectorCloseButton.DEFAULT;
} else if( isWindowsVistaLaF() ) {
closeTabImage =
ImageUtilities.loadImageIcon("org/openide/awt/resources/vista_close_enabled.png",
true); // NOI18N
@@ -181,7 +182,7 @@ public final class CloseButtonFactory{
}
}
if( null == closeTabPressedImage ) {
- if( isWindows8LaF() || isWindows10LaF() ) {
+ if( isWindows8OrAboveLaF() ) {
closeTabPressedImage = Windows8VectorCloseButton.PRESSED;
} else if( isWindowsVistaLaF() ) {
closeTabPressedImage =
ImageUtilities.loadImageIcon("org/openide/awt/resources/vista_close_pressed.png",
true); // NOI18N
@@ -211,7 +212,7 @@ public final class CloseButtonFactory{
}
}
if( null == closeTabMouseOverImage ) {
- if( isWindows8LaF() || isWindows10LaF() ) {
+ if( isWindows8OrAboveLaF() ) {
closeTabMouseOverImage = Windows8VectorCloseButton.PRESSED;
} else if( isWindowsVistaLaF() ) {
closeTabMouseOverImage =
ImageUtilities.loadImageIcon("org/openide/awt/resources/vista_close_rollover.png",
true); // NOI18N
@@ -242,7 +243,7 @@ public final class CloseButtonFactory{
}
}
if( null == bigCloseTabImage ) {
- if( isWindows8LaF() || isWindows10LaF() ) {
+ if( isWindows8OrAboveLaF() ) {
bigCloseTabImage = Windows8VectorCloseButton.DEFAULT;
} else if( isWindowsVistaLaF() ) {
bigCloseTabImage =
ImageUtilities.loadImageIcon("org/openide/awt/resources/vista_bigclose_enabled.png",
true); // NOI18N
@@ -272,7 +273,7 @@ public final class CloseButtonFactory{
}
}
if( null == bigCloseTabPressedImage ) {
- if( isWindows8LaF() || isWindows10LaF() ) {
+ if( isWindows8OrAboveLaF() ) {
bigCloseTabPressedImage = Windows8VectorCloseButton.PRESSED;
} else if( isWindowsVistaLaF() ) {
bigCloseTabPressedImage =
ImageUtilities.loadImageIcon("org/openide/awt/resources/vista_bigclose_pressed.png",
true); // NOI18N
@@ -302,7 +303,7 @@ public final class CloseButtonFactory{
}
}
if( null == bigCloseTabMouseOverImage ) {
- if( isWindows8LaF() || isWindows10LaF() ) {
+ if( isWindows8OrAboveLaF() ) {
bigCloseTabMouseOverImage = Windows8VectorCloseButton.PRESSED;
} else if( isWindowsVistaLaF() ) {
bigCloseTabMouseOverImage =
ImageUtilities.loadImageIcon("org/openide/awt/resources/vista_bigclose_rollover.png",
true); // NOI18N
diff --git
a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/UIUtils.java
b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/UIUtils.java
index 974733c..87ee48e 100644
--- a/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/UIUtils.java
+++ b/profiler/lib.profiler.ui/src/org/netbeans/lib/profiler/ui/UIUtils.java
@@ -383,7 +383,7 @@ public final class UIUtils {
public static boolean isWindowsModernLookAndFeel() {
if (!isWindowsXPLookAndFeel()) return false;
String osName = System.getProperty("os.name"); // NOI18N
- return osName != null && (osName.contains("Windows 8") ||
osName.contains("Windows 10")); // NOI18N
+ return osName != null && (osName.contains("Windows 8") ||
osName.contains("Windows 10") || osName.contains("Windows 11")); // NOI18N
}
public static boolean isOracleLookAndFeel() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists