Mega Code Archive

 
Categories / Java / Development Class
 

Platform specific functionality

import java.awt.Frame; import java.lang.reflect.Method; /**  * Platform specific functionality.  *  * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>  * @version $Id: Platform.java 582434 2007-10-06 02:11:51Z cam $  */ public abstract class Platform {     /**      * Whether we are running on Mac OS X.      */     public static boolean isOSX =         System.getProperty("os.name").equals("Mac OS X");     /**      * Whether we are running on JRE 1.3.      */     public static boolean isJRE13 =         System.getProperty("java.version").startsWith("1.3");     /**      * Unmaximizes the specified Frame.      */     public static void unmaximize(Frame f) {         if (!isJRE13) {             try {                 Method m1 =                     Frame.class.getMethod("getExtendedState", (Class[]) null);                 Method m2 =                     Frame.class.getMethod("setExtendedState",                                           new Class[] { Integer.TYPE });                 int i = ((Integer) m1.invoke(f, (Object[]) null)).intValue();                 m2.invoke(f, new Object[] { new Integer(i & ~6) });             } catch (java.lang.reflect.InvocationTargetException ite) {             } catch (NoSuchMethodException nsme) {             } catch (IllegalAccessException iae) {             }         }     } }