org.jdesktop.swingx.util.OS Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swingx Show documentation
Show all versions of swingx Show documentation
Contains extensions to the Swing GUI toolkit, including new and enhanced components that provide functionality commonly required by rich client applications.
/*
* $Id: OS.java,v 1.4 2007/01/23 18:32:03 l2fprod Exp $
*
* Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
* Santa Clara, California 95054, U.S.A. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.jdesktop.swingx.util;
import java.awt.Toolkit;
import javax.swing.UIManager;
/**
* Provides methods related to the runtime environment.
*/
public class OS {
private static final boolean osIsMacOsX;
private static final boolean osIsWindows;
private static final boolean osIsWindowsXP;
private static final boolean osIsWindows2003;
private static final boolean osIsWindowsVista;
private static final boolean osIsLinux;
static {
String os = System.getProperty("os.name").toLowerCase();
osIsMacOsX = "mac os x".equals(os);
osIsWindows = os != null && os.indexOf("windows") != -1;
osIsWindowsXP = "windows xp".equals(os);
osIsWindows2003 = "windows 2003".equals(os);
osIsWindowsVista = "windows vista".equals(os);
osIsLinux = os != null && os.indexOf("linux") != -1;
}
/**
* @return true if this VM is running on Mac OS X
*/
public static boolean isMacOSX() {
return osIsMacOsX;
}
/**
* @return true if this VM is running on Windows
*/
public static boolean isWindows() {
return osIsWindows;
}
/**
* @return true if this VM is running on Windows XP
*/
public static boolean isWindowsXP() {
return osIsWindowsXP;
}
/**
* @return true if this VM is running on Windows 2003
*/
public static boolean isWindows2003() {
return osIsWindows2003;
}
/**
* @return true if this VM is running on Windows Vista
*/
public static boolean isWindowsVista() {
return osIsWindowsVista;
}
/**
* @return true if this VM is running on a Linux distribution
*/
public static boolean isLinux() {
return osIsLinux;
}
/**
* @return true if the VM is running Windows and the Java
* application is rendered using XP Visual Styles.
*/
public static boolean isUsingWindowsVisualStyles() {
if (!isWindows()) {
return false;
}
boolean xpthemeActive = Boolean.TRUE.equals(Toolkit.getDefaultToolkit()
.getDesktopProperty("win.xpstyle.themeActive"));
if (!xpthemeActive) {
return false;
} else {
try {
return System.getProperty("swing.noxp") == null;
} catch (RuntimeException e) {
return true;
}
}
}
/**
* Returns the name of the current Windows visual style.
*
* - it looks for a property name "win.xpstyle.name" in UIManager and if not found
*
- it queries the win.xpstyle.colorName desktop property ({@link Toolkit#getDesktopProperty(java.lang.String)})
*
*
* @return the name of the current Windows visual style if any.
*/
public static String getWindowsVisualStyle() {
String style = UIManager.getString("win.xpstyle.name");
if (style == null) {
// guess the name of the current XPStyle
// (win.xpstyle.colorName property found in awt_DesktopProperties.cpp in
// JDK source)
style = (String)Toolkit.getDefaultToolkit().getDesktopProperty(
"win.xpstyle.colorName");
}
return style;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy