Как преобразовать от положения мыши до позиции символа в JEditorPane в Java Swing

Просто хотел дополнить главный ответ, так как мне нужно было выполнить дополнительную команду:

git reset --soft HEAD^
git checkout origin/master <filepath>

Приветствия!

6
задан abatishchev 19 June 2010 в 11:17
поделиться

2 ответа

Правильный способ сделать это - вызвать viewToModel () :

public void mouseClicked(MouseEvent e) {
    JEditorPane editor = (JEditorPane) e.getSource();
    Point pt = new Point(e.getX(), e.getY());
    int pos = editor.viewToModel(pt);
    // whatever you need to do here
}
9
ответ дан 10 December 2019 в 02:51
поделиться

Я решил эту проблему самостоятельно. Оказывается, viewToModel () - это именно то, что я должен здесь использовать, проблема заключалась в том, что я передавал ему неправильную точку.

Из MouseEvent, Я использовал метод getLocationOnScreen (), чтобы определить момент, когда на самом деле мне следовало использовать метод getPoint ().

Спасибо всем, кто прочитал этот вопрос.

0
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: