已滚动的Java鼠标位置计数区域



我不知道如何为这个做一个好的标题。现在我们开始:

我试图得到准确的鼠标位置,当我点击一个标签,使用一个MouseAdapter我添加到我的JScrollPane的JViewPort我的面板本身被添加到JScrollPane中。

当我试图获得鼠标位置的坐标时,总是相对于可见的面板区域。它不包括由于滚动而不可见的区域。

我不知道我是否说得很清楚,我希望如此。已经尝试使用getMousePosition从JViewPort和JScrollPane,也没有工作。提前感谢!!

下面是一些代码:框架内部有面板的结构…

public GraphViewer(ArrayList<TimeSlot> graph) throws HeadlessException {
    final MyCustomPanel panel = new MyCustomPanel(graph);
    panel.setPreferredSize(panel.getLargestSize());
    scroll = new JScrollPane(panel);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new BorderLayout());
    add(scroll, BorderLayout.CENTER);
    JViewport v = scroll.getViewport();
    ViewportDragScrollListener l = new ViewportDragScrollListener(panel);
    v.addMouseMotionListener(l);
    v.addMouseListener(l);
}

如何将JViewport.getViewPosition()添加到从getMousePosition()获得的坐标?

evento mouseClicked...
x= event.getX();
luego:
Point pos =    scrollImagen.getViewport().getViewPosition();
pos.translate(x, y);
...
double nuevaPosx = pos.getX();

相关内容

  • 没有找到相关文章

最新更新