2011-07-19 104 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

Thanks.it工作。 – charmi