Yes, TWS uses JFreeChart, but they could do better with it - both in terms of appearance and performance.
Here is a sample from my own charting application using JFreeChart. The second from top subchart is a MarketDelta type plot. The horizontal lines are various MP levels and pivots.
This plot uses a custom renderer and dataset that I wrote.
I took me quite a bit of effort to get good rendering performance - there are several issues, and it is probably also platform dependent (eg X11 or Windows). The most important thing is to be able to redraw the last bar evey tick. JFreeChart does not provide that ability so you need to do it yourself.
However, performance now is fine. I can run any reasonable number of charts (20 -40) and have digital TV running on another screen as well as TWS - on an old Socket A Athlon 2800+, and the thing is still 40% idle. So much for Java being slow.
Overall, I think JFreeChart is pretty good and highly configurable - you can make just about any chart in just about any style with a bit of effort. But out of the box, it is not designed for real time charting, though it can be adapted to it.