src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java

Print this page


   1 /*
   2  * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


1069      * classes in gtk.
1070      */
1071     static class GTKLazyValue implements UIDefaults.LazyValue {
1072         /**
1073          * Name of the class to create.
1074          */
1075         private String className;
1076         private String methodName;
1077 
1078         GTKLazyValue(String name) {
1079             this(name, null);
1080         }
1081 
1082         GTKLazyValue(String name, String methodName) {
1083             this.className = name;
1084             this.methodName = methodName;
1085         }
1086 
1087         public Object createValue(UIDefaults table) {
1088             try {
1089                 Class c = Class.forName(className, true,Thread.currentThread().
1090                                         getContextClassLoader());
1091 
1092                 if (methodName == null) {
1093                     return c.newInstance();
1094                 }
1095                 Method m = c.getMethod(methodName, (Class[])null);
1096 
1097                 return m.invoke(c, (Object[])null);
1098             } catch (ClassNotFoundException cnfe) {
1099             } catch (IllegalAccessException iae) {
1100             } catch (InvocationTargetException ite) {
1101             } catch (NoSuchMethodException nsme) {
1102             } catch (InstantiationException ie) {
1103             }
1104             return null;
1105         }
1106     }
1107 
1108     static {
1109         CLASS_SPECIFIC_MAP = new HashMap<String,String>();
1110         CLASS_SPECIFIC_MAP.put("Slider.thumbHeight", "slider-width");
1111         CLASS_SPECIFIC_MAP.put("Slider.trackBorder", "trough-border");
1112         CLASS_SPECIFIC_MAP.put("SplitPane.size", "handle-size");
1113         CLASS_SPECIFIC_MAP.put("Tree.expanderSize", "expander-size");
1114         CLASS_SPECIFIC_MAP.put("ScrollBar.thumbHeight", "slider-width");
1115         CLASS_SPECIFIC_MAP.put("ScrollBar.width", "slider-width");


   1 /*
   2  * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


1069      * classes in gtk.
1070      */
1071     static class GTKLazyValue implements UIDefaults.LazyValue {
1072         /**
1073          * Name of the class to create.
1074          */
1075         private String className;
1076         private String methodName;
1077 
1078         GTKLazyValue(String name) {
1079             this(name, null);
1080         }
1081 
1082         GTKLazyValue(String name, String methodName) {
1083             this.className = name;
1084             this.methodName = methodName;
1085         }
1086 
1087         public Object createValue(UIDefaults table) {
1088             try {
1089                 Class<?> c = Class.forName(className, true,Thread.currentThread().
1090                                            getContextClassLoader());
1091 
1092                 if (methodName == null) {
1093                     return c.newInstance();
1094                 }
1095                 Method m = c.getMethod(methodName, (Class<?>[])null);
1096 
1097                 return m.invoke(c, (Object[])null);
1098             } catch (ClassNotFoundException cnfe) {
1099             } catch (IllegalAccessException iae) {
1100             } catch (InvocationTargetException ite) {
1101             } catch (NoSuchMethodException nsme) {
1102             } catch (InstantiationException ie) {
1103             }
1104             return null;
1105         }
1106     }
1107 
1108     static {
1109         CLASS_SPECIFIC_MAP = new HashMap<String,String>();
1110         CLASS_SPECIFIC_MAP.put("Slider.thumbHeight", "slider-width");
1111         CLASS_SPECIFIC_MAP.put("Slider.trackBorder", "trough-border");
1112         CLASS_SPECIFIC_MAP.put("SplitPane.size", "handle-size");
1113         CLASS_SPECIFIC_MAP.put("Tree.expanderSize", "expander-size");
1114         CLASS_SPECIFIC_MAP.put("ScrollBar.thumbHeight", "slider-width");
1115         CLASS_SPECIFIC_MAP.put("ScrollBar.width", "slider-width");