Clan x86
Technical (Development, Security, etc.) => General Programming => Tutorials, References, and Examples => Topic started by: Camel on November 15, 2007, 04:42:44 pm
-
Just started playing round with JGoodies, and I liked it to much I added support for pluggable look and feels to my bot.
(http://bnubot.googlecode.com/files/r850.png)
I did everything through reflection because I do not require the end-user or the developer to have the JGoodies JAR.
try {
// Initialize the JGoodies Look and Feels
String[] lafs = {
"com.jgoodies.looks.windows.WindowsLookAndFeel",
"com.jgoodies.looks.plastic.PlasticLookAndFeel",
"com.jgoodies.looks.plastic.Plastic3DLookAndFeel",
"com.jgoodies.looks.plastic.PlasticXPLookAndFeel",
};
Class<?> PlasticLookAndFeel = null;
for(String c : lafs) {
PlasticLookAndFeel = JARLoader.forName(c);
LookAndFeel laf = (LookAndFeel)PlasticLookAndFeel.newInstance();
UIManager.installLookAndFeel(laf.getName(), PlasticLookAndFeel.getName());
}
// getInstalledThemes()
Method getInstalledThemes = PlasticLookAndFeel.getMethod("getInstalledThemes");
List<?> themes = (List<?>)getInstalledThemes.invoke(null);
LinkedList<String> themes2 = new LinkedList<String>();
for(Object theme : themes)
themes2.add(theme.getClass().getSimpleName());
lookAndFeelThemes = themes2.toArray(new String[themes2.size()]);
// setPlasticTheme(PlasticTheme)
Class<?> PlasticTheme = JARLoader.forName("com.jgoodies.looks.plastic.PlasticTheme");
setPlasticTheme = PlasticLookAndFeel.getMethod("setPlasticTheme", PlasticTheme);
} catch(Exception e) {
Out.exception(e);
}
-
Cute. :-*
-
Huh, that's pretty neat. I haven't done anything with GUI programming in a while, but I'll definitely keep this in mind.