【发布时间】:2025-12-30 22:00:11
【问题描述】:
我有一个编辑器,我想在其中检查所选文本是否不包含某些单词。如果它包含那些特定的单词,那么我需要取消选择用户所做的选择。 JTextPane有什么办法吗?
【问题讨论】:
我有一个编辑器,我想在其中检查所选文本是否不包含某些单词。如果它包含那些特定的单词,那么我需要取消选择用户所做的选择。 JTextPane有什么办法吗?
【问题讨论】:
我不确定,但试试这个方法。
textPane.setCaretPosition(start);
【讨论】:
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);
【讨论】:
文本选择是临时且连续的。您不能在较大的选定文本字符串中间取消选择某些文本。
也许您在谈论突出显示。查看 getHighlighter() 的 API。您可以添加/删除高光并指定每个高光的开始/结束偏移量。
【讨论】: