Java tutorial
//package com.java2s; /* * Copyright 2016 Dmitry Avtonomov. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.util.Collections; import java.util.List; import javax.swing.UIDefaults; import javax.swing.UIManager; public class Main { /** * Convenience method for retrieving the UIDefault for a single property * of a particular class. * * @param clazz the class of interest * @param property the property to query * @return the UIDefault property, or null if not found */ public static Object getUIDefaultOfClass(Class<?> clazz, String property) { Object retVal = null; UIDefaults defaults = getUIDefaultsOfClass(clazz); List<Object> listKeys = Collections.list(defaults.keys()); for (Object key : listKeys) { if (key.equals(property)) { return defaults.get(key); } if (key.toString().equalsIgnoreCase(property)) { retVal = defaults.get(key); } } return retVal; } /** * Convenience method for retrieving a subset of the UIDefaults pertaining * to a particular class. * * @param clazz the class of interest * @return the UIDefaults of the class */ public static UIDefaults getUIDefaultsOfClass(Class<?> clazz) { String name = clazz.getName(); name = name.substring(name.lastIndexOf(".") + 2); return getUIDefaultsOfClass(name); } /** * Convenience method for retrieving a subset of the UIDefaults pertaining * to a particular class. * * @param className fully qualified name of the class of interest * @return the UIDefaults of the class named */ public static UIDefaults getUIDefaultsOfClass(String className) { UIDefaults retVal = new UIDefaults(); UIDefaults defaults = UIManager.getLookAndFeelDefaults(); List<?> listKeys = Collections.list(defaults.keys()); for (Object key : listKeys) { if (key instanceof String && ((String) key).startsWith(className)) { String stringKey = (String) key; String property = stringKey; if (stringKey.contains(".")) { property = stringKey.substring(stringKey.indexOf(".") + 1); } retVal.put(property, defaults.get(key)); } } return retVal; } /** * Convenience method for determining whether two objects are either * equal or both null. * * @param obj1 the first reference object to compare. * @param obj2 the second reference object to compare. * @return true if obj1 and obj2 are equal or if both are null, * false otherwise */ public static boolean equals(Object obj1, Object obj2) { return obj1 == null ? obj2 == null : obj1.equals(obj2); } }