Swing has 6-8 months to shape up or WFC wins.
comp.lang.java.programmer
Topic: Are you happy with JFC/Swing?
>Greetings, > >We are curious how many people who are (seriously) using JFC/Swing >are acutally happy with it? >
I use JDK1.2B3 (which, I believe, includes JFC1.1 aka Swing1.0) on Win95. In my opinion, as much as I like Java and Swing, I give it until year's end before I get disgusted enough to switch to WFC. I have heard similar time frames from other developers who are working on commercial apps using Swing.
> >How useful is a pluggable look-and-feel if one cannot even create >simple reliable yes/no dialogs? >
As someone else also mentioned, PLAF's are little more than academic toys. Sun should me improving the existing LAFs (specially Windows) instead of going around designing new LAFs. Like it or now, most of the Java apps will run on Windows platforms, and if they continue to stick out like a sore thumb amid the other polished apps on the desktop, there won't be much of a market for them. Right now the Windows LAF completely ignores the systemwide color/font settings. What good is this?
Aside from hopeless performance, my biggest gripe about Swing is that they obviously haven't given much thought to keyboard interaction. Advanced users typically tend to use the keyboard more than the mouse.
Some things in Swing that are completely unacceptable in a commercial product:
- You cannot invoke a context menu using the keyboard. This is such an important operation that the new keyboards have a special key JUST FOR THIS. - Pressing ESCAPE does not dismiss a dialog box. - JPopupMenus are not modal. Just invoke a context menu for a table cell and use the arrow keys. Rather than selecting entries on the popup menu, this actually changes the selection in the table (!!) - Disabling resize on a JDialog/JFrame does a half hearted job. You can still do it using the keyboard and the system menu. - MVC is ridiculous overkill for a simple two digit JTextField. Unfortunately, we have to carry this excess baggage and pay the price in performance. To repaint 42 JTextFields takes THREE seconds. Ridiculous! - I can actually watch the JCheckBox paint itself when I click on it.
And please don't tell me that I can do all this stuff by subclassing and adding my own workarounds. The point of a toolkit is to provide a usable framework. If I have to spend time working around the bugs in Swing, and meanwhile WFC provides excellent performance with the needed functionality already in place, I have to question the merits of staying with Swing.
> >Are you happy with Swing? >
Bottom line: As much as the Java priesthood around here doesn't like to admit it, 90% of users are Windows users, and they really couldn't care less whether your application runs on Unix or Mac. They demand fast, snazzy, stable apps on Windows. Swing has a lawwwwwwwng way to go before it can compete with native Windows widgets. Right now it is not even a contest.
Don't get me wrong. I actually come from a long Unix/Motif background. I love Java as a language and Swing has a lot of cool features. But, regardless of my personal preferences, my obligation as a professional developer is to recommend and use the best technology for the job. If Swing doesn't cut it by the end of this year, and WFC does, the choice becomes clear. It won't be a happy choice, but...
**************************
Imagine, a hardware company like Sun ignoring the needs of the independent developer community in order to pursue its own agenda. Remember IBM and OS/2? Deja vu. |