ich muß für das aktuelle Projekt unter anderem eine skalierbare HTML-
Preview machen (größtenteils nur formatierter Text). Das geht auch schon
recht fesch (mit Hilfe von HTMLEditorKit und einer selbst-geschriebenen
RootView, sowie einem AffineTransform auf das Graphics-Objekt angewendet).
So weit, so gut. Jetzt sollte ich aber auch HTML-Formulare previewen.
Leider verwendet das HTMLEditorKit zum anzeigen von Textfeldern,
Checkboxen und so weiter Swing-Komponenten (was ja durchaus verständlich
ist). Swing-Komponenten und AffineTransform vertragen sich leider nur
sehr, sehr schlech. Konkret führt das bei mir zu der folgenden Exception:
java.lang.IllegalStateException: constrain(xywh) is not supported for
complex transform.
at sun.java2d.SunGraphics2D.constrain(SunGraphics2D.java:287)
at sun.awt.SunGraphicsCallback.constrainGraphics
(SunGraphicsCallback.java:25)
at sun.awt.SunGraphicsCallback.runOneComponent
(SunGraphicsCallback.java:51)
at sun.awt.SunGraphicsCallback.runComponents
(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1123)
[more of this]
Unter http://www.cs.umd.edu/hcil/jazz/ findet man eine Library, die unter
anderem Swing-Komponentnen skalieren kann, ich halte aber den Ansatz den
sie verfolgen für Overkill und hoffe noch eine einfachere Lösung zu
finden.
mfg
Joachim Sauer
--
Anyone who gets in between me and my morning coffee should be insecure.
[sic]
- RFC 2324