/*
* Copyright 2005 MH-Software-Entwicklung. All rights reserved.
* Use is subject to license terms.
*/
package com.jtattoo.plaf;
import java.lang.reflect.*;
import java.awt.*;
import javax.swing.*;
/**
* @author Michael Hagen
*/
public class DecorationHelper {
private DecorationHelper() {
}
public static void decorateWindows(Boolean decorate) {
if (JTattooUtilities.getJavaVersion() >= 1.4) {
try {
Class classParams[] = {Boolean.TYPE};
Method m = JFrame.class.getMethod("setDefaultLookAndFeelDecorated", classParams);
Object methodParams[] = {decorate};
m.invoke(null, methodParams);
m = JDialog.class.getMethod("setDefaultLookAndFeelDecorated", classParams);
m.invoke(null, methodParams);
System.setProperty("sun.awt.noerasebackground", "true");
} catch (Exception ex) {
}
}
}
public static int getWindowDecorationStyle(JRootPane root) {
if (JTattooUtilities.getJavaVersion() >= 1.4) {
try {
Class paramTypes[] = null;
Object args[] = null;
Method m = root.getClass().getMethod("getWindowDecorationStyle", paramTypes);
Integer i = (Integer) m.invoke(root, args);
return i.intValue();
} catch (Exception ex) {
}
}
return 0;
}
public static int getExtendedState(Frame frame) {
if (JTattooUtilities.getJavaVersion() >= 1.4) {
try {
Class paramTypes[] = null;
Object args[] = null;
Method m = frame.getClass().getMethod("getExtendedState", paramTypes);
Integer i = (Integer) m.invoke(frame, args);
return i.intValue();
} catch (Exception ex) {
}
}
return 0;
}
public static void setExtendedState(Frame frame, int state) {
if (JTattooUtilities.getJavaVersion() >= 1.4) {
try {
Class classParams[] = {Integer.TYPE};
Method m = frame.getClass().getMethod("setExtendedState", classParams);
Object methodParams[] = {new Integer(state)};
m.invoke(frame, methodParams);
} catch (Exception ex) {
}
}
}
public static boolean isFrameStateSupported(Toolkit tk, int state) {
if (JTattooUtilities.getJavaVersion() >= 1.4) {
try {
Class classParams[] = {Integer.TYPE};
Method m = tk.getClass().getMethod("isFrameStateSupported", classParams);
Object methodParams[] = {new Integer(state)};
Boolean b = (Boolean) m.invoke(tk, methodParams);
return b.booleanValue();
} catch (Exception ex) {
}
}
return false;
}
}