1

У меня есть двойная матрица, для которой я создаю HeatMap с использованием класса HeatMap (http://www.mbeckler.org/heatMap/). Я использую MouseMotionListener, чтобы получить позицию мыши, когда она зависает над изображением. Поскольку фактические Heatmap меньше панели Heatmap, я установил координат границы для получения мыши координаты (Предыдущий вопроса для деталей: MouseListener for HeatMap in Java HeatMap Panel)Координаты двойной матрицы по методу HeatMap с использованием MouseMotionListener

Событие мыши, чтобы отслеживать движение мыши выглядит следующим образом:

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

This может быть полезно. Вам нужно каким-то образом отобразить свою матрицу с помощью JPanel Object.

Смежные вопросы