Double Matrix使用MouseMotionListener在heatMap上进行坐标

时间:2015-09-05 21:27:50

标签: java user-interface matrix coordinates mousemotionlistener

我有一个双矩阵,我使用HeatMap类(http://www.mbeckler.org/heatMap/)构造一个heatMap。当鼠标悬停在图像上时,我使用MouseMotionListener来获取鼠标位置。由于实际热图小于HeatMap面板,我设置坐标界限以获取鼠标坐标位置(前一个问题详情:MouseListener for HeatMap in Java HeatMap Panel

跟踪鼠标移动的鼠标事件如下所示:

public void mouseMoved(MouseEvent e) {
        if(e.getPoint().x  >= 31 && e.getPoint().y >= 31 && e.getPoint().x <= intensityMap.getWidth()-31 && e.getPoint().y <= intensityMap.getHeight()-31) {

            int maxX = (intensityMap.getWidth() - 31)-31;
            int maxY = (intensityMap.getHeight() - 31)-31;
            intensityMap.add(coordinates);
            coordinates.setText("(x,y) = " + "(" + (e.getPoint().x - 31) + "," +     (e.getPoint().y - 31) + ")");
            coordinates.revalidate();
            coordinates.repaint();
        }
    }

现在,我想将这些鼠标坐标位置转换为双矩阵的坐标位置,用于绘制heatMap。根据鼠标事件的总行数为235,总列数为128.双矩阵的维数为37,32。如何在heatMap上映射双矩阵的坐标?

1 个答案:

答案 0 :(得分:1)

This可能会有所帮助。您需要以某种方式使用JPanel对象映射矩阵。