web-dev-qa-db-fra.com

Quelqu'un peut-il recommander un Java Editeur de texte riche?

L'éditeur de texte riche doit être implémenté dans Java, fournir un support swing et être de préférence open source.

Je cherche à l'intégrer à une application Java/Swing existante.

Merci.

33
fred smith

Ceci n'est probablement pas aussi drop-in-place comme ce que vous avez suivi ... mais JTextpane prend en charge le texte riche et HTML. Son trivial pour l'obtenir Affichage RTF ou HTML, définissez simplement le type de codage avant de le remplir avec du contenu.

Comme pour faire le petit "b" et "[~ # ~ # ~] i [~ # ~ ~]" Les boutons de modification de style, etc. Si cela se pose, dans une pincée qui ne serait pas très difficile de faire vous-même. Pensez jbuttons avec des icônes définies. Leurs auditeurs reçoivent les postes de sélection de la sélection actuels de la sélection et de fin de la sélection de Jtextpane, comme celui-ci: jpane.getSelectionStart() ou jpane.getSelectionEnd() puis insérez l'ouverture et la fermeture des balises HTML/RTF à ces endroits.

Annuler est facile aussi - maintenez une pile simple du contenu de la chaîne de JPanel, chaque fois que l'utilisateur effectue une action d'édition, un simple history.Push(jpane.getText()) stockerait l'état et le bouton Annuler serait aussi simple que jpane.setText(history.pop()).

Je/vous pourriez en faire un avec b, I & annuler dans environ 30 min je pense - d'autres boutons comme des listes de choses prendront plus de temps, mais pas beaucoup.

23
dalyons

Essayez l'éditeur Editeur de la métaphase , sur la base de Charles Bell's HTMLDocumentEditor . C'est LGPL V sous licence et c'est génial, en particulier comme exemple d'utilisation du StyledEditorKit, discuté ici .

10
user328744

Vous pouvez intégrer la mère de tous les éditeurs de texte riches à la source ouverte dans une application Swing: OpenOffice.org fournit un "oobean", en utilisant lesquels vous pouvez intégrer une instance OpenOffice complète dans une application Swing.

7
Alexander Malfait

J'ai vérifié et je ne trouve pas de fichier JAR avec juste un éditeur de texte. Cependant, Heres 2 autres options

Option A Utilisez Swing et en construisez-en une vous-même. Swing a beaucoup de composants déjà couverts dans Javax.swing.Text, bien qu'il nécessite toujours une quantité étendue de code. J'ai trouvé un exemple ici

Option B Code de nettoyage à partir d'un projet open source. J'ai trouvé 2 projets avec des éditeurs de type HTML WYSIWYG Valy qui peuvent être extraits (les deux sont contenus dans quelques classes).

  1. mémorandum (gpl): son texte édition ou est dans net.sf.memoranda.ui.htmeditor.htmleditor. C'est un jPanel et utilise uniquement une autre classe.
  2. Ekit (LGPL): c'est un éditeur HTML WYSIWYG complet complet. Son com.hexidec.ekit.ekitcore classe est un JPanel et semble assez polyvalent, bien qu'il utilise beaucoup d'autres classes de l'emballage.

Il y a aussi un groupe de commerce commercial disponible, en supposant que vous avez un budget :)

6
Penguin2774

Jeter un oeil sur jword ou jrichtextitoritor

JWORL est un éditeur de texte riche en riches commercial, avec des tables, une pagination et un support RTF/OPENDOC/XML. Prend également en charge l'en-tête/pied de page, la mise en page multi-colonnes, l'exportation HTML, SVG, WMF, etc.

JrichTextAditor est un widget Swing open source, c'est tout à fait correct pour la prise de note. Prend en charge les images, un simple format XML pour le stockage, l'exportation vers pdf, HTML. Pas aussi avancé que jward, mais open source.

Pourrait aider.

4
Guner Sen