在JTextPane中取消选择所选文本

cha*_*rmi 5 java swing jtextpane

我有一个编辑器,我想检查所选文本是否包含一些单词.如果它包含那些特定的单词,那么我需要取消选择用户所做的选择.有没有办法做到这一点JTextPane

bug*_*gs_ 7

我不确定,但尝试这种方法.

textPane.setCaretPosition(start);
Run Code Online (Sandbox Code Playgroud)


And*_*son 6

int end = pane.getSelectionEnd();
pane.setSelectionStart(end);
pane.setSelectionEnd(end);
Run Code Online (Sandbox Code Playgroud)

这将取消选择所选文本,并将插入符号保留在用户选择的任何内容的末尾.弹出JOptionPane告诉用户选择消失的原因可能是值得的.

JOptionPane.showMessageDialog(
    null, 
    "Don't select swear words!", 
    "Net Nanny says..", 
    JOptionPane.ERROR_MESSAGE);
Run Code Online (Sandbox Code Playgroud)


cam*_*ckr 2

文本选择是临时且连续的。您无法取消选择较大的选定文本字符串中间的某些文本。

也许您正在谈论突出显示。查看 getHighlighter() 的 API。您可以添加/删除高光并指定每个高光的开始/结束偏移量。