--- old/src/share/classes/javax/swing/UIManager.java 2012-06-28 21:32:07.126495344 -0400 +++ new/src/share/classes/javax/swing/UIManager.java 2012-06-28 21:32:06.944495340 -0400 @@ -602,7 +602,7 @@ } else { String desktop = AccessController.doPrivileged(new GetPropertyAction("sun.desktop")); Toolkit toolkit = Toolkit.getDefaultToolkit(); - if ("gnome".equals(desktop) && + if (("gnome".equals(desktop) || "xfce".equals(desktop)) && toolkit instanceof SunToolkit && ((SunToolkit) toolkit).isNativeGTKAvailable()) { // May be set on Linux and Solaris boxs. --- old/src/solaris/native/java/lang/java_props_md.c 2012-06-28 21:32:09.833495421 -0400 +++ new/src/solaris/native/java/lang/java_props_md.c 2012-06-28 21:32:09.644495415 -0400 @@ -405,8 +405,10 @@ if (getenv("GNOME_DESKTOP_SESSION_ID") != NULL) { sprops.desktop = "gnome"; - } - else { + } else if ((strcmp(getenv("DESKTOP_SESSION"), "xfce") == 0) || + (strcmp(getenv("DESKTOP_SESSION"), "xfce4") == 0)) { + sprops.desktop = "xfce"; + } else { sprops.desktop = NULL; } }