Why is everything so blooming hard to get right in Swing?
Why are there no decent layout managers? I used to think GridBagLayout was the biggest and best, but its mysterious rules about component widths (that Sun seem reluctant to explain) just mean it’s a pig to work with. Why, when CSS gets everything done in one place, do we have any more layout managers than one?
Why is there no feedback about why something is behaving in a certain way? I refuse to accept that the core API is developed without any logging at all - that would just be stupid - and suspect it’s conditionally-compiled out of each release. Why can’t I get hold of a debug-enabled build?
Why do seemingly trivial settings cause massive changes throughout the GUI? Why do I have to dig into the API source to discover why turning on line wrapping on a JTextArea causes fundamental changes in component layout?
Why does there seem to be no consistency in component layout? Why are there funny little border cases all over the place where moving something 1 pixel to the left causes the layout to change by 200 pixels, or more?
Why is the Swing documentation so poorly maintained? Why is the Java Tutorial positively littered with [PENDING] comments?
Why did Sun even bother with HTML support? Things were added with no attempt to make them appropiate for a GUI, and I’ve never managed to find any useful documentation on any of it. It’s almost as if it were included for the sole purpose of being buzzword-compliant.
Why does it often seem like half the API is missing? Given the existence of layout managers that ignore e.g. heights, why am I forced into providing a (dummy) height when I want to set a minimum width - where’s the setMinimumWidth() method?
Edit: And why oh why oh why does it seem like nothing respects minimum/maximum/preferred sizes? Is it really too much to ask to have a text box with arbitrary text in it that stays at the size I set it to?
Is it just Swing… or are all GUI toolkits this bad? :-/