Мне интересно, какой лучший способ получить местоположение клика мыши после того, как было сделано масштабирование с использованием paintComponent панели? (Расположение относительно этого увеличения).Увеличение и уменьшение jPanel
Вот код масштабирования:
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
if(zoomer==true){
at.scale(zoom,zoom);//at = AffineTransform...
zoomer=false;
}
g2.transform(at);
В моем главном классе, я использую мышь слушателя частный класс и переопределить метод mouseRelase:
@Override
public void mouseReleased(MouseEvent e)
e.getX();//Location of the mouse on the X axis
Я рисую различные формы, такие как точки. Каждая точка имеет свои пиксельные местоположения, поэтому, если создать их в X: 20 и Y: 30, это никогда не изменится. Когда я называю paintComponent, он масштабируется либо больше, либо меньше. Моя проблема заключается в том, что я могу зафиксировать расположение этих точек на панели, и это дает мне некоторую информацию в некоторых текстовых полях о точках, на которые я нажал. Если панель была увеличена в/из, местоположение клика по-прежнему остается таким же, поэтому, скажем, я увеличиваю масштаб, формы будут не в x: 20 и y: 30, а в случайном месте на основе шкалы. Как я могу изменить свое местоположение в этом масштабе?
Не уверен, что я делаю myselft ясным, поэтому не стесняйтесь, если вам нужна дополнительная информация.
Спасибо