Swing is huge and slow and not very flexible.
That's a pretty derogatory claim to make without any justification.
I'd like to hear why you think this.
For what it's worth, here's why I don't agree with your sentiment...
Yes, Swing is quite large.
It is a large API, has a not-small memory footprint, and can take a while to load when an app first uses it.
However, Sun is working to reduce these problems with every release, and the improvements are noticeable.
Swing is
not slow.
Many people have this impression because their limited Swing experience is with poorly-written applications that don't know how to use Swing.
In analog, if I pushed a Ferrari around a race track, that wouldn't make the Ferrari slow. It would make me naive.
It is easy to make a slow Swing application when you know nothing about its
threading model.
When you actually know what you're doing, you can write fast, responsive, professional-quality applications on top of swing.
Commercial example:
IntelliJ.
There are hundreds more examples of Swing being used in commercial production environments at
Swing Sightings.
It wouldn't be being used for real applications if it really was slow.
Lastly, Swing
is flexible.
It is extremely flexible!
I can't think of a reason why someone would think it wasn't flexible, so I can't really argue against the point.
But, in terms of flexibility, it is both
customisable and
extendable.
i.e. there are many places where you can change the specifics of how a Swing component works and, if you need something really different, it's pretty straight-forward to roll your own.
That's one of the very reasons that it's "huge", and also why many people find it complex when they start working with it.
As for me, I've always found a way to do what I want to do.
Sometimes it takes a bit of digging in the API, and understanding some aspect of Swing that I was previously oblivious to, but there's always been a way.
As I said at the top, I really would like to hear why you have the impression of Swing that you have, but my experience of
real Swing applications is counter to your claims.