Recently I have been tinkering around with java a lot in my spare time. I've been working on a side project that technically is fairly simple but won't be very useful without some cool UI effects though. As a result I've been toying around with Swing a lot implementing things like automatic live filtering of table data (like iTunes), etc. One thing that has recently come to my attention that is really annoying me is the JTable default renderers for the header. The renders are controlled by the default look and field and can only, as far as I can tell, display strings. This means that I can't set an icon to indicate sorting direction or the likes, unless I provide my own renderer. It's not hard to write your own renderer; however, when you do you lose all the goodness that comes from the platform L&F renderer unless you decide to implement yourself on a case by case basis. You should be able to set an icon for eacher column header, it's a standard, simple feature that should just be there. I usually love swing but for this one I've gotta deduct points.
Another thing that is relatively annoying, not all that much but some, is that there is no date picker component provided by swing. This is a fairly simple component that you can write your self easily enough but Swing is so feature rich we don't expect to normally have to write such simple components.
Ok, enough ranting. ON the whole I really like swing and if I was using another component framework I would probably have just as many if not more complaints as I do about swing. And yet I still feel the need to voice my complaints about swing!


