I’ve registered new project on SourceForge. Jacinth is an embeddable WYSIWYG HTML editor for Java/Swing, perhaps well-known for Memoranda users. It has been developed as a part of Memoranda and now it is available as a separate library. Actually, this is the first step in Big Memoranda Refactoring process (aka Memoranda 2.0).
Jacinth is a red transparent variety of zircon used as a gemstone.
Jacinth is a Swing component, based on default JEditorPane which is a common foundation for Java styled text editors. It is extended with convenient Actions framework and dialogs for text searching, inserting objects etc. Actually, Jacinth implements a complete and ready to use solution of a WYSIWYG styled editor which can be easily integrated into the Swing applications.
Jacinth includes a demo application (
net.sf.jacinth.demo.App) – a simple editor which can create and edit HTML files in local filesystem:
- Block formatting (
P, H1-H6, PRE, BLOCKQUOTE, block alignment)
- Inline formatting (
B, I, U, EM, STRONG, CODE, CITE, SUP, SUB, custom font/color style)
- Inserting lists (
- Inserting and updating images, links and tables with special dialog boxes
- Inserting special Unicode characters, rules and linebreaks
- Find and replace functions
- Unlimited undo/redo support
- Default clipboard operations
- Customizing editor look (text fonts, colors, etc) with an external CSS file
- Synchronized WYSIWYG and HTML-source modes
All editor operations are available as the Swing Actions, so it is easy to implement them in client application as the buttons and menu items (see the demo app for example). Also there are two prebuilt toolbars which can be displayed along with the editor pane.
There are no file releases yet, but sourcecode is available via anonymous CVS.
Almost all editor limitations and problems come from its parent – JEditorPane+HTMLEditorKit. In fact, this part of Swing libraries is based on ancient Sun HotJava and seems to be abandoned long time ago together with that browser. It is buggy, clumsy and intricated and there is a little hope that somebody in Sun would go to improve it now. So, if you are used to deal with modern valid W3C (X)HTML, you probably will be discouraged looking at your pages opened with Jacinth as well as at old-style clumsy HTML it produces.
Therefore, Jacinth is a rich-text editor component for Java apps, rather than a general-purpose HTML editor (except for very simple and straightforward HTML). Though, there is a hope that one day we will have an opensource implementation of a fully standards-compliant Java browser/editor.