¿Alguien puede recomendar un editor de texto enriquecido Java?

El editor de texto enriquecido debe implementarse en Java, proporcionar compatibilidad con Swing y, preferentemente, ser de código abierto.

Estoy buscando integrarlo en una aplicación Java / Swing existente.

Gracias.

Probablemente no sea tan sencillo como lo que buscabas … pero JTextPane admite texto enriquecido y HTML. Es trivial lograr que muestre rtf o html, simplemente configure el tipo de encoding antes de llenarlo con contenido.

En cuanto a hacer los pequeños botones de modificación de estilo “B” y ” I “, etc., si se llegaba a eso, en un apuro que no sería muy difícil de hacer. Piensa en JButtons con Icons set. Sus oyentes obtienen las posiciones actuales de inicio y finalización de selección de JTextPane de esta manera: jpane.getSelectionStart() o jpane.getSelectionEnd() y luego insertan las tags html / rtf de apertura y cierre en esas ubicaciones.

Deshacer también es fácil: mantenga una stack simple de los contenidos de cadena del Jpanel, cada vez que el usuario realiza una acción de edición, un simple history.push(jpane.getText()) almacenaría el estado, y el botón de deshacer sería como simple como jpane.setText(history.pop()) .

Yo / usted podría hacer uno con B, I y deshacer en alrededor de 30 minutos, creo, otros botones como listas tomarán más tiempo, pero no tanto.

Pruebe el editor MetaPhase , basado en HTMLDocumentEditor Charles Bell. Está licenciado por LGPL v3 y es genial, particularmente como un ejemplo del uso del StyledEditorKit , discutido aquí .

Puede insertar a la madre de todos los editores de texto enriquecido de código abierto en una aplicación Swing: OpenOffice.org proporciona un “OOBean”, mediante el cual puede incrustar una instancia completa de OpenOffice en una aplicación Swing.

Revisé y no puedo encontrar un archivo jar con solo un editor de texto. Sin embargo, aquí hay otras 2 opciones

Opción A Usa Swing y construye uno tú mismo. Swing tiene muchos de los componentes ya cubiertos en javax.swing.text, aunque aún requiere una gran cantidad de código. Encontré un ejemplo aquí

Opción B Código de recuperación de un proyecto de fuente abierta. Encontré 2 proyectos con editores de tipo HTML WYSIWYG realmente agradables que se pueden extraer (ambos están incluidos en unas pocas clases).

  1. Memorandos (GPL): su edición de texto está en net.sf.memoranda.ui.htmleditor.HTMLEditor. Es un JPanel y solo usa otra clase.
  2. Ekit (LGPL): es un editor WYSIWYG Html con todas las funciones. Su clase com.hexidec.ekit.EkitCore es un JPanel y parece bastante multipropósito, aunque usa muchas otras clases del paquete.

También hay un montón de comerciales disponibles, suponiendo que tienes un presupuesto 🙂

Eche un vistazo a JWord o JRichTextEditor

JWord es un editor de texto enriquecido comercial, con tablas, paginación y soporte RTF / opendoc / XML. También admite encabezado / pie de página, diseño de múltiples columnas, exportación de HTML, SVG, WMF, etc.

JRichTextEditor es un widget de código abierto swing, que está bastante bien para tomar notas. Admite imágenes, un formato XML simple para almacenamiento, exportación a PDF, HTML. No tan avanzado como JWord, pero de código abierto.

Podría ayudar.