News:

Wieners, Brats, Franks, we've got 'em all.

Main Menu

JGoodies

Started by Camel, November 15, 2007, 04:42:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Camel

Just started playing round with JGoodies, and I liked it to much I added support for pluggable look and feels to my bot.



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);
}

<Camel> i said what what
<Blaze> in the butt
<Camel> you want to do it in my butt?
<Blaze> in my butt
<Camel> let's do it in the butt
<Blaze> Okay!

abc


Sidoh

Huh, that's pretty neat.  I haven't done anything with GUI programming in a while, but I'll definitely keep this in mind.