Clan x86

Technical (Development, Security, etc.) => General Programming => Tutorials, References, and Examples => Topic started by: Camel on November 15, 2007, 04:42:44 pm

Title: JGoodies
Post 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.
Code: [Select]
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);
}
Title: Re: JGoodies
Post by: abc on November 16, 2007, 11:04:04 am
Cute. :-*
Title: Re: JGoodies
Post by: Sidoh on November 16, 2007, 12:32:07 pm
Huh, that's pretty neat.  I haven't done anything with GUI programming in a while, but I'll definitely keep this in mind.