src/java.desktop/share/classes/java/awt/GraphicsEnvironment.java
Print this page
@@ -26,10 +26,11 @@
package java.awt;
import java.awt.image.BufferedImage;
import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.Locale;
import sun.font.FontManager;
import sun.font.FontManagerFactory;
import sun.java2d.HeadlessGraphicsEnvironment;
@@ -159,13 +160,11 @@
* @return the value of the property "java.awt.headless"
* @since 1.4
*/
private static boolean getHeadlessProperty() {
if (headless == null) {
- java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<Object>() {
- public Object run() {
+ AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
String nm = System.getProperty("java.awt.headless");
if (nm == null) {
/* No need to ask for DISPLAY when run in a browser */
if (System.getProperty("javaplugin.version") != null) {
@@ -175,31 +174,28 @@
if (osName.contains("OS X") && "sun.awt.HToolkit".equals(
System.getProperty("awt.toolkit")))
{
headless = defaultHeadless = Boolean.TRUE;
} else {
+ final String display = System.getenv("DISPLAY");
headless = defaultHeadless =
- Boolean.valueOf(("Linux".equals(osName) ||
+ ("Linux".equals(osName) ||
"SunOS".equals(osName) ||
"FreeBSD".equals(osName) ||
"NetBSD".equals(osName) ||
"OpenBSD".equals(osName) ||
"AIX".equals(osName)) &&
- (System.getenv("DISPLAY") == null));
+ (display == null || display.isEmpty());
}
}
- } else if (nm.equals("true")) {
- headless = Boolean.TRUE;
} else {
- headless = Boolean.FALSE;
+ headless = "true".equals(nm);
}
return null;
+ });
}
- }
- );
- }
- return headless.booleanValue();
+ return headless;
}
/**
* Check for headless state and throw HeadlessException if headless
* @since 1.4