2011-07-19 4 views
5

Mam edytor, w którym chcę sprawdzić, czy zaznaczony tekst nie zawiera niektórych słów. Jeśli zawiera te konkretne słowa, muszę odznaczyć wybór dokonany przez użytkownika. Czy jest jakiś sposób, aby to zrobić w JTextPane?Odznacz zaznaczony tekst w JTextPane

Odpowiedz

2

wybór Tekst temporaray i przyległe. Nie można usunąć zaznaczenia tekstu w środku większego ciągu zaznaczonego tekstu.

Może mówisz o wyróżnianiu. Sprawdź API dla getHighlighter(). Możesz dodawać/usuwać podświetlenia i określać przesunięcia początkowe i końcowe każdego podświetlenia.

+0

lub po prostu jtextpane.setSelectionStart (0); i jtextpane.setSelectionEnd (0); i "wyczyści" selekcję. –

7

Nie jestem pewien, ale spróbuj tej metody.

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

Będzie odznaczyć wybrany tekst i opuszczenia daszka na końcu niezależnie od wybranego przez użytkownika. To może zapłacić pop JOptionPane mówienie użytkownikowi, dlaczego wybór zniknął ..

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

Dzięki. Działało. – charmi