* @param def
* the default value when it is not present in the config file
*
- * @return the associated value, or NULL if not found (not present in the
- * resource file)
+ * @return the associated value, or <tt>def</tt> if not found (not present
+ * in the resource file)
*/
public String getString(E id, String def) {
return getString(id, def, -1);
* the item number to get for an array of values, or -1 for
* non-arrays
*
- * @return the associated value, or NULL if not found (not present in the
- * resource file)
+ * @return the associated value, <tt>def</tt> if not found (not present in
+ * the resource file) or NULL if the item is specified (not -1) and
+ * does not exist
*/
public String getString(E id, String def, int item) {
String rep = getString(id.name(), null);
rep = getMetaDef(id.name());
}
- if (rep == null || rep.isEmpty()) {
+ if (rep.isEmpty()) {
return def;
}
* the item number to get for an array of values, or -1 for
* non-arrays
*
- * @return the associated value, or NULL if not found (not present in the
- * resource file)
+ * @return the associated value, <tt>def</tt> if not found (not present in
+ * the resource file), NULL if the item is specified (not -1) but
+ * does not exist and NULL if bad key
*/
public String getStringX(E id, String suffix, String def, int item) {
String key = id.name()
}
/**
- * The default {@link MetaInfo.def} value for the given enumeration name.
+ * The default {@link Meta#def()} value for the given enumeration name.
*
* @param id
* the enumeration name (the "id")
*/
protected void resetMap(ResourceBundle bundle) {
this.map.clear();
- for (Field field : type.getDeclaredFields()) {
- try {
- Meta meta = field.getAnnotation(Meta.class);
- if (meta != null) {
- E id = Enum.valueOf(type, field.getName());
-
- String value;
- if (bundle != null) {
- value = bundle.getString(id.name());
- } else {
- value = null;
+ if (bundle != null) {
+ for (Field field : type.getDeclaredFields()) {
+ try {
+ Meta meta = field.getAnnotation(Meta.class);
+ if (meta != null) {
+ E id = Enum.valueOf(type, field.getName());
+ String value = bundle.getString(id.name());
+ this.map.put(id.name(),
+ value == null ? null : value.trim());
}
-
- this.map.put(id.name(), value == null ? null : value.trim());
+ } catch (MissingResourceException e) {
}
- } catch (MissingResourceException e) {
}
}
}
import javax.swing.ListCellRenderer;
import javax.swing.SwingWorker;
-import be.nikiroo.utils.compat.DefaultListModel6;
-import be.nikiroo.utils.compat.JList6;
-import be.nikiroo.utils.compat.ListCellRenderer6;
+import be.nikiroo.utils.ui.compat.DefaultListModel6;
+import be.nikiroo.utils.ui.compat.JList6;
+import be.nikiroo.utils.ui.compat.ListCellRenderer6;
/**
* A {@link javax.swing.ListModel} that can maintain 2 lists; one with the
*/
public class UIUtils {
/**
- * Set a fake "native look & feel" for the application if possible
+ * Set a fake "native Look & Feel" for the application if possible
* (check for the one currently in use, then try GTK).
* <p>
* <b>Must</b> be called prior to any GUI work.
+ *
+ * @return TRUE if it succeeded
*/
- static public void setLookAndFeel() {
+ static public boolean setLookAndFeel() {
// native look & feel
+ String noLF = "javax.swing.plaf.metal.MetalLookAndFeel";
+ String lf = UIManager.getSystemLookAndFeelClassName();
+ if (lf.equals(noLF))
+ lf = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
+
+ return setLookAndFeel(lf);
+ }
+
+ /**
+ * Switch to the given Look & Feel for the application if possible
+ * (check for the one currently in use, then try GTK).
+ * <p>
+ * <b>Must</b> be called prior to any GUI work.
+ *
+ * @param laf
+ * the Look & Feel to use
+ *
+ * @return TRUE if it succeeded
+ */
+ static public boolean setLookAndFeel(String laf) {
try {
- String noLF = "javax.swing.plaf.metal.MetalLookAndFeel";
- String lf = UIManager.getSystemLookAndFeelClassName();
- if (lf.equals(noLF))
- lf = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
- UIManager.setLookAndFeel(lf);
+ UIManager.setLookAndFeel(laf);
+ return true;
} catch (InstantiationException e) {
} catch (ClassNotFoundException e) {
} catch (UnsupportedLookAndFeelException e) {
} catch (IllegalAccessException e) {
}
+
+ return false;
}
/**