What Swing look and feel should I use for a Java desktop application?
I am developing a Java desktop application and I use Swing to build the GUI. I realize that I can change the look of my app by setting different L&Fs.
The JRE (from SUN) provides me at least two L&Fs, one is the default Metal L&F and the other is the "System" L&F which let my app have a nat开发者_JAVA技巧ive look. Also I can find some really cool L&Fs on the internet.
The question is: which L&F should I use for my desktop app? Someone said the native look will be more user friendly, is that true? If I use the system L&F, should I make different versions of my user handbook (since the UI will change according to the OS)?
Unless you're trying for a completely custom look for your app, I'd recommend the System L&F. It does make your application a little easier to use by making it similar in appearance to other applications on the platform, which the user will presumably be familiar with.
I'd definitely stay away from the Metal L&F. Nothing screams "Java in the late 90's" like that ugly gray chrome. (Unless that retro look is actually what you're going for.)
If you have enough users on different systems to warrant testing the UI on those systems, it wouldn't hurt to grab the screen shots for your user manual on multiple systems either. If you're making a print copy you might want to just show the most common platform, but electronic copies could be customized for each OS you've tested for.
I guess you don't mean to find the best look and feel, you are inclined to use the system look and feel but don't want to invest more workload on documentation for all platforms.
Actually you can pick a decent look and feel, like nimbus or something else as the default skin, and allow your users to choose the "skin" in the preference settings. Thus your document can just include the screenshots for the default skin.
While you do have total flexibility -- the PLAF or pluggable-look-and-feel framework is, well, pluggable -- many developers believe that users will feel that an app is weird is awkward if it doesn't look like other apps on the their operating system. To this point, Swing has an OSX look and feel that only runs on OSX, and I think the converse is true for Windows.
While it depends on your audience, of course, Swing apps made for commercial appeal generally try to use the native look and feel.
Note: On OSX, some standard OSX things like having the Quit for your app under the apple menu (and not under the file menu, like on Windows) is ONLY available in their look and feel.
Edit: For an app to be truly cross-platform, you would have to have a separate manual for different platforms if you use the native look and feel. That might be a good reason to avoid it and choose one you like, like Metal.
If cross-platformness is important for you then I'd go with nimbus (which is quite pretty unlike metal). An app that looks native will just confuse users unless it behaves exactly like a native app.
精彩评论