Hi again. What makes the richness of Swing application? the UI or the functionality? If some one showed me a couple of Swing applications, how could I recognize the rich one from the un-rich one? Thanks.
Swing applications are always rich in the strict definition of the term "rich client." A rich client is simply an application that does storage and process locally. Thin clients, like web sites, do storage and/or processing remotely.
That's why we came up with "filthy rich clients" to mark the difference between rich clients: those with regular UIs and those with animated, appealing, bewildering UIs.
To find out whether a Swing app is filthy rich or not, just use this rule: Did it make me go "wow!" when I saw it?
It depends on the size and scope of your application, and whether it needs, or can take advantage of, the facilities provided by those frameworks. The demos that we did for the book don't use any app framework (Eclipse RCP, NetBeans Platform, or the Swing App Framework). But our demos are intentionally small and focused in scope, so there wasn't much point to it. Also, the demos needed to focus on the individual effects that they were trying to present, and dragging in orthogonal issues like RCP would have detracted from the core issues.
Slightly larger apps (or even our demos) could benefit from simple usage of somelike like the Swing Application Framework, to handle such basic things as app/frame setup and teardown. For example, the boilerplate code in all of my demos where I post some Runnable that calls createAndShowGUI() on the Swing event thread is made easier by the Swing framework's Application facility.
Much larger apps would benefit from the module and update facilities (among other things) in the RCP alternatives.