Отмените выделение текста в JTextPane - PullRequest
5 голосов
/ 19 июля 2011

У меня есть редактор, в котором я хочу проверить, что выделенный текст не будет содержать некоторые слова.Если он содержит эти конкретные слова, то мне нужно отменить выбор, сделанный пользователем.Есть ли способ сделать это в JTextPane?

Ответы [ 3 ]

7 голосов
/ 19 июля 2011

Я не уверен, но попробуйте этот метод.

textPane.setCaretPosition(start);
6 голосов
/ 19 июля 2011
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);
2 голосов
/ 19 июля 2011

Выбор текста является временным и непрерывным.Вы не можете отменить выделение некоторого текста в середине большой строки выделенного текста.

Возможно, вы говорите о выделении.Проверьте API для getHighlighter ().Вы можете добавлять / удалять блики и указывать начальное / конечное смещение каждого выделения.

...