2011-07-19 29 views
5

Tengo un editor en el que quiero verificar que el texto seleccionado no contenga algunas palabras. Si contiene esas palabras particulares, entonces tengo que anular la selección de la selección hecha por el usuario. ¿Hay alguna manera de hacerlo en JTextPane?Deseleccionar texto seleccionado en JTextPane

Respuesta

2

La selección de texto es temporaray y contiguo. No puede deseleccionar texto en medio de una cadena más grande de texto seleccionado.

Quizás usted está hablando de resaltar. Consulte la API de getHighlighter(). Puede agregar/eliminar iluminaciones y especificar las compensaciones de inicio/final de cada resaltado.

+0

o simplemente jtextpane.setSelectionStart (0); y jtextpane.setSelectionEnd (0); y "borrará" la selección. –

7

No estoy seguro, pero pruebe este método.

textPane.setCaretPosition(start); 
6
int end = pane.getSelectionEnd(); 
pane.setSelectionStart(end); 
pane.setSelectionEnd(end); 

Esto anular la selección del texto seleccionado y dejar el cursor al final de lo que el usuario ha seleccionado. Podría pagar para hacer estallar una JOptionPane que indica al usuario qué la selección desapareció ..

JOptionPane.showMessageDialog(
    null, 
    "Don't select swear words!", 
    "Net Nanny says..", 
    JOptionPane.ERROR_MESSAGE); 
+0

Thanks.it funcionó. – charmi

Cuestiones relacionadas