Я использую класс HeatMap Java (по: http://www.mbeckler.org/heatMap/) для создания тепловой карты для моей матрицы. Я хочу реализовать mouselistener, который будет отображать координатную позицию (x, y), когда мышь находится в некотором положении на изображении (Heatmap). На данный момент я реализовал основной прослушиватель мыши, который показывает сообщение, когда указатель мыши находится в панели HeatMap и когда он находится за его пределами. Но проблема заключается в том, что фактическая тепловая карта на панели HeatMap меньше, чем панель Heatmap, а также включает в себя легенду. Я хочу только отображать информацию о координатах, когда указатель мыши наводится на фактическую тепловую карту, а не на область, окружающую тепловую карту. Может ли кто-нибудь помочь мне сделать это?MouseListener для HeatMap в Java HeatMap Panel
Ниже приведена часть кода, который реализует MouseListener и панель Heatmap.
public class GUI extends JFrame implements MouseListener {
intensityMap = new HeatMap(dataMatrix, false,HeatMap.Gradient.GRADIENT_Rainbow);
intensityMap.setDrawLegend(true);
intensityMap.addMouseListener(this);
}
public void mouseEntered(MouseEvent e) {
System.out.println("Mouse entered");
}
public void mouseExited(MouseEvent e) {
System.out.println("Mouse exited");
}
, пожалуйста, напишите полное изображение и сообщите нам на этом изображении, какая область включена в панель, которую вы слушаете через прослушиватель мыши. – afzalex
Я обновил изображение сейчас. Панель Heatmap - это полное отражение, выделенное красным цветом, а фактическое HeatMap - с черной рамкой. Я хочу, чтобы mouseListener работал только в фактической HeatMap, а не в пробеле, который виден вне HeatMap на красной границе. – novicegeek