2011-07-19 30 views
5

私は、選択したテキストにいくつかの単語が含まれていないことを確認するエディタを持っています。それらの特定の単語が含まれている場合は、ユーザーの選択を解除する必要があります。 JTextPaneにこれを行う方法はありますか?JTextPaneで選択したテキストを選択解除します

答えて

2

テキスト選択がtemporarayと連続しています。選択したテキストの大きな文字列の途中にあるテキストを選択解除することはできません。

多分あなたはハイライトについて話しています。 getHighlighter()のAPIをチェックしてください。ハイライトを追加/削除し、各ハイライトの開始/終了オフセットを指定することができます。

+0

または単にjtextpane.setSelectionStart(0)。およびjtextpane.setSelectionEnd(0);選択を「クリア」します。 –

7

わかりませんが、この方法をお試しください。

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

これは、選択したテキストの選択を解除し、ユーザーが選択したものは何でもの終わりにキャレットを残します。選択が消えた理由は、ユーザーに伝えるJOptionPaneをポップするために支払うかもしれません。..

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

ありがとうございました。 – charmi

関連する問題