Boa noite, tenho um código que move a imagem, um mapa na verdade, mas cada vez que clico novamente o mapa volta para posição original…qria fazer parecido como no google maps, ir arrastando o mapa.
Se alguem tem alguma dica pra me ajudar agradeço
segue o código abaixo
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package nao_usados;
import java.awt.;
import javax.swing.;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.border.TitledBorder;
public class MoveImage extends JFrame {
ShowCanvas canvas;
public MoveImage() {
super();
Container container = getContentPane();
canvas = new ShowCanvas();
container.add(canvas);
//setSize(300, 200);
setExtendedState(MAXIMIZED_BOTH);
setVisible(true);
}
public static void main(String arg[]) {
new MoveImage();
}
}
class ShowCanvas extends JPanel {
int x, y;
BufferedImage image;
ShowCanvas() {
setBackground(Color.white);
//setSize(450, 400);
addMouseMotionListener(new MouseMotionHandler());
Image img = getToolkit().getImage("img\\mapa-geo.png");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 1);
try {
mt.waitForAll();
} catch (Exception e) {
System.out.println("Image not found.");
}
image = new BufferedImage(img.getWidth(this), img.getHeight(this),
BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = image.createGraphics();
g2.drawImage(img, 0, 0, this);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2D = (Graphics2D) g;
g2D.drawImage(image, x, y, this);
}
class MouseMotionHandler extends MouseMotionAdapter {
public void mouseDragged(MouseEvent e) {
x = e.getX();
System.out.println(x);
y = e.getY();
System.out.println(y);
repaint();
}
public void mouseMoved(MouseEvent e) {
}
}
}[/code]