¿Cómo obtengo un JEditorPane para resaltar el ancho completo de una línea (no solo el texto)?

votos
4

Estoy tratando de obtener un JEditorPane para resaltar el ancho completo de una línea mostrada. Todos los ejemplos que he probado solo resaltan el contenido textual. Por ejemplo, si tengo contenido como este:

 ---------------------------------
|Here is some text                |
|some more text                   |
 ---------------------------------

dentro de un JEditorPane representado por el cuadro de arriba, a continuación, resaltar la primera fila resalta solo el 'Aquí hay un texto' (representado entre [y] a continuación).

 ---------------------------------
[Here is some text]               |
|some more text                   |
 ---------------------------------

Me gustaría resaltar todo el ancho del JEditorPane como el siguiente:

 ---------------------------------
[Here is some text                ]
|some more text                   |
 ---------------------------------

¿Hay alguna forma de hacer esto?

Publicado el 09/12/2008 a las 18:03
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
4

Esto no parece muy complicado. Haría un pequeño desafío de código .

Simplemente crea tu propio Resaltador personalizado, extendiendo DefaultHighlighter.

Anule el paint()método y simplemente deje sin modificar el ancho de la pintura rectangular: será el ancho del panel.

Encontrará en DZone Snippets un ejemplo completo : cópielo y ejecútelo. Dime si esto es lo que buscas. Incluye la textPane.setSelectionColor(new Color(1.0f, 1.0f, 1.0f, 0.0f));adición que mencionas en tu respuesta.

texto alternativo http://www.freeimagehosting.net/uploads/94a3a990e4.png

Respondida el 09/12/2008 a las 22:23
fuente por usuario

votos
1

Para evitar que el resaltado de selección interfiera con la solución de VonC, agregué la siguiente línea al constructor TextHighlight (esencialmente haciendo invisible la selección resaltada):

textPane.setSelectionColor(new Color(1.0f, 1.0f, 1.0f, 0.0f));
Respondida el 11/12/2008 a las 16:52
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more