Pomysł jest taki, żeby usuwać zaznaczanie tekstu (selection) z komponentu JTextPane.
Pomocny może być CaretListener, jednak natknąłem się na problem ...
JTextPane textPane = new JTextPane();
CaretListener listener = new CaretListener() {
public void caretUpdate(CaretEvent caretEvent) {
textPane.setSelectionStart(0);
textPane.setSelectionEnd(0);
}
};
textPane.addCaretListener(listener);
I tutaj napotykam błędy:
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at java.util.IdentityHashMap.maskNull(Unknown Source)
at java.util.IdentityHashMap.get(Unknown Source)
at javax.swing.RepaintManager.extendDirtyRegion(Unknown Source)
at javax.swing.RepaintManager.addDirtyRegion0(Unknown Source)
at javax.swing.RepaintManager.addDirtyRegion(Unknown Source)
at javax.swing.JComponent.repaint(Unknown Source)
at java.awt.Component.repaint(Unknown Source)
at javax.swing.text.DefaultCaret.repaint(Unknown Source)
at javax.swing.text.DefaultCaret.changeCaretPosition(Unknown Source)
at javax.swing.text.DefaultCaret.handleSetDot(Unknown Source)
at javax.swing.text.DefaultCaret.setDot(Unknown Source)
at javax.swing.text.DefaultCaret.setDot(Unknown Source)
at javax.swing.text.JTextComponent.setCaretPosition(Unknown Source)
at javax.swing.text.JTextComponent.select(Unknown Source)
at javax.swing.text.JTextComponent.setSelectionStart(Unknown Source)
(...)
Jak to rozwiązać?