Substance

GUI improvement proposal. Substance is one way to make swing applications look less like swing applications (which should generally be considered a good thing).
I tried adding it to forge just to see how it looks and I would say it's pretty nice. Here are some screenshots with different look-and-feels for your viewing pleasure:
http://i48.tinypic.com/97qmpd.jpg
http://i50.tinypic.com/w6utk4.jpg
http://i48.tinypic.com/10gxk5c.jpg
To add it I just commented out the first try-catch block in main in Gui_NewGame.java and added the following around the new Gui_NewGame(); call. The substance.jar of course needs to be in your classpath.
One of the nice things is that the dependecy is resolved at runtime and could always fall back to the original design. Which means that anyone who would want this could simply download the substance.jar and place it in the classpath. For everyone else the application would work as usual.
It would take a bit more work but you could have it changeable at runtime as well. (Instead of a hardcoded string or something to that extent.) Have a look at the webstart demo on this page to see what I'm taking about.
Anyways, proposal submitted for your consideration.
I tried adding it to forge just to see how it looks and I would say it's pretty nice. Here are some screenshots with different look-and-feels for your viewing pleasure:
http://i48.tinypic.com/97qmpd.jpg
http://i50.tinypic.com/w6utk4.jpg
http://i48.tinypic.com/10gxk5c.jpg
To add it I just commented out the first try-catch block in main in Gui_NewGame.java and added the following around the new Gui_NewGame(); call. The substance.jar of course needs to be in your classpath.
- Code: Select all
JFrame.setDefaultLookAndFeelDecorated(true);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceDustLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
}
});
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Gui_NewGame();
}
});
One of the nice things is that the dependecy is resolved at runtime and could always fall back to the original design. Which means that anyone who would want this could simply download the substance.jar and place it in the classpath. For everyone else the application would work as usual.
It would take a bit more work but you could have it changeable at runtime as well. (Instead of a hardcoded string or something to that extent.) Have a look at the webstart demo on this page to see what I'm taking about.
Anyways, proposal submitted for your consideration.