Tenho um exemplo abaixo que move um quadrado, através do mouse, gostaria de saber como seria para mover uma String com o mouse, exemplo:
==> Através do "g2d.drawString("teste", 105, 70);", crio a String teste na tela, como move-la através do mouse, alguém poderia me ajudar ??? vlw, segue abaixo o código com o quadrado....
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.Rectangle2D;
import javax.swing.JFrame;
public class Janela extends JFrame {
private Rectangle2D.Double quad = new Rectangle2D.Double(50, 50, 50, 50);
public static void main(String[] args) {
new Janela().setVisible(true);
}
public Janela() {
setSize(250, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MouseHandler handler = new MouseHandler();
addMouseMotionListener(handler);
addMouseListener(handler);
setBackground(Color.GRAY);
}
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g.create();
g2d.setColor(Color.RED);
g2d.draw((Shape) quad);
g2d.dispose();
}
public class MouseHandler extends MouseAdapter {
private boolean mouseDownOnQuad = false;
@Override
public void mousePressed(MouseEvent e) {
mouseDownOnQuad = quad.contains(e.getPoint());
}
@Override
public void mouseReleased(MouseEvent e) {
mouseDownOnQuad = false;
}
@Override
public void mouseDragged(MouseEvent e) {
if (!mouseDownOnQuad)
return;
quad.x = e.getX() - (quad.width / 2.0);
quad.y = e.getY() - (quad.height / 2.0);
repaint();
}
}
}