33 votes

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

L'éditeur de texte riche doit être implémenté en Java, offrir un support pour Swing et, de préférence, être open source.

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

Merci.

23voto

dalyons Points 723

Ce n'est probablement pas aussi facile à mettre en place que ce que vous recherchiez... mais JTextPane supporte le texte riche et le HTML. Il est trivial de le transformer en afficher rtf ou html, il suffit de définir le type d'encodage avant de le remplir de contenu.

Quant à faire le petit "B" et le " I "etc des boutons modificateurs de style, et bien si on en arrive là, ce ne serait pas très difficile à faire soi-même. Pensez à des boutons JB avec des icônes. Leurs écouteurs obtiennent les positions d'index de début et de fin de la sélection actuelle du JTextPane comme ceci : jpane.getSelectionStart() ou jpane.getSelectionEnd() puis insérez des balises html/rtf ouvrantes et fermantes à ces endroits.

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

Je/tu pourrais en faire un avec B, I Les autres boutons, comme les listes, prendront plus de temps, mais pas beaucoup.

10voto

user328744 Points 101

Essayez le Éditeur MetaPhase basé sur l'ouvrage de Charles Bell HTMLDocumentEditor . C'est LGPL v3 sous licence et c'est génial, notamment comme exemple d'utilisation de la StyledEditorKit , discuté aquí .

7voto

Alexander Malfait Points 1920

Vous pouvez intégrer la mère de tous les éditeurs de texte riche open source dans une application Swing : OpenOffice.org fournit un "OOBean", qui permet d'intégrer une instance complète d'OpenOffice dans une application Swing.

7voto

J'ai vérifié et je n'ai pas trouvé de fichier jar contenant un simple éditeur de texte. Cependant, voici deux autres options

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

Option B Récupérer le code d'un projet open source. J'ai trouvé 2 projets avec de très beaux éditeurs HTML de type WYSIWYG qui peuvent être extraits (les deux sont contenus dans quelques classes seulement).

  1. Mémorandums (GPL) : Son édition de texte ou est dans net.sf.memoranda.ui.htmleditor.HTMLEditor. C'est un JPanel et n'utilise qu'une seule autre classe.
  2. Ekit (LGPL) : C'est un éditeur Html WYSIWYG complet. Sa classe com.hexidec.ekit.EkitCore est un JPanel et semble assez polyvalente, bien qu'elle utilise beaucoup d'autres classes du paquet.

Il existe également un grand nombre de produits commerciaux, à condition que vous ayez un budget suffisant :)

4voto

Guner Sen Points 31

Jetez un coup d'œil à JWord o JRichTextEditor

JWord est un éditeur de texte riche commercial, avec tableaux, pagination et support RTF/opendoc/XML. Il prend également en charge les en-têtes/pieds de page, la mise en page multi-colonnes, l'exportation HTML, SVG, WMF, etc.

JRichTextEditor est un widget swing open source, qui convient parfaitement à la prise de notes. Supporte les images, un format XML simple pour le stockage, l'exportation vers PDF, HTML. Pas aussi avancé que JWord, mais open source.

Ça pourrait aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X