0

我有一个JTextPane并使用一个MouseAdapter我需要获得被点击的字符的位置。当我直接单击字符时,使用viewToModel确实会返回所需位置,但是,当我单击JTextPane.

有谁知道当我不点击字符时如何避免获得最后一个字符的位置?

她的获得该职位的代码:

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

1 回答 1

1

单击空白区域时,您期望什么结果?实际上它返回最接近点击点的位置。

您可以从 viewToModel() 获取位置并使用 modelToView() 传递获得的偏移量。然后只需将返回的矩形与单击的点进行比较。

于 2012-12-31T15:17:59.590 回答