Swing JEditorPane: Caret nach Rechtsklick neu setzen

centrax

Mitglied
Hallo Forum,

ich habe folgendes Problem:
Ich habe ein JEditorPane. Hierdrin wird der Carot natürlich bei einem Linksklick neu an die Stelle gesetzt, auf die der Cursor zeigt.

Ich möchte, dass das jetzt auch bei Rechtsklick passiert.

Ich habe mir ne Lösung ausgedacht, nach der ein java.awt.Robot einfach einen Linksklick simuliert, immer wenn ein rechtsklick Stattfand, aber das ist eher umständlich. Ich fände einen direkteren Weg besser.

Liebe Grüße,
centrax
 
Hänge einen MouseListener an dein EditorPane und versetze die Karotte, wenn es ein Rechtsklick ist
 
Alles klar,

aber wie sollte ich den Carot neu setzen? Ich kann ihn ja zu einer bestimmten Position bringen, bestimmt durch einen int-Index.
Aber wie komm ich von meinen Maus-Koordinaten, die ich ja über das MouseEvent abfragen kann auf diesen Carot-Index??

Oder gibt es eine elegantere Methode????:L
 
Dann muss du den index berechnen

Java:
public void mouseClicked(MouseEvent e) { 
    JEditorPane editor = (JEditorPane) e.getSource(); 
    Point pt = new Point(e.getX(), e.getY()); 
    int pos = editor.viewToModel(pt); 
}
 

Zurück
Oben