Soooo. I have been messing around with what I've optimistically been thinking of as an 'alternative' JChemPaint renderer rather than just a botched refactoring. I started with the code by Niels Out (blog) and messed around with it a bit. Here is a diagram of part of where it is at:
This is meant to be valid UML, but the message is the same : "Overly. Complex." The basic idea is that the parent SymbolTreeFactory handles the logic of what bonds to create, and the child factory creates a tree suitable for AWT.
There's a name problem here, as "AWT" is not right for Java2D; also I'm not sure why I decided on "SymbolTree" as it's not really a tree as such. It could be, using a Composition pattern perhaps, but that seems unnecessary.
Anyway, the point of this is to make separate AWT and SWT renderers, while sharing as much code as possible. This may not be the way to do it, but it is a way to do it.
Comments
So, I have a version. There are still problems with the design; mainly due to having to render text (font sizes are always the problem).
Not sure where to put the code...