ユーザーが通常どおりに編集できるようにしたいJTextPaneがありますが、ユーザーに文字の範囲を選択させたくありません。カーソルが欲しいだけです。どうすればいいですか?JTextPaneのsetSelectionStartとsetSelectionEndの使用は、ほとんどの場合機能しますが、常に機能するとは限りません。
boolean selectionAlreadyHandled = false;
JTextPane jtextpane;
public void caretUpdate (CaretEvent evt)
{
if (selectionAlreadyHandled)
{
selectionAlreadyHandled = false;
return;
}
int pos = evt.getDot();
if (pos != evt.getMark())
{
selectionAlreadyHandled = true;
if (pos < evt.getMark())
jtextpane.setSelectionEnd(pos);
if (pos > evt.getMark())
jtextpanel.setSelectionBegin(pos);
}
//Event handling
return;
}