如何在 Java2D 中用鼠标拖动不同的 BufferedImages?
例如,如果我有十张或更多图片,我该如何移动鼠标悬停的图片?
现在我正在导入一个 BufferedImage
BufferedImage img = new BufferdImage(new File("filename"));
我用 Graphics2D 绘制这个
public void paintComponent(Graphics g) {
super.paintComponent(g);
g2d = (Graphics2D) g;
g2d.drawImage(img, x1, y1, null);
g2d.drawImage(img2, x2, y2,null);
}
每次我在图像上移动时,我都会重新绘制 ()-ing 整个屏幕。 我的mousemove类如下
class MouseMotionHandler extends MouseMotionAdapter {
@Override
public void mouseDragged(MouseEvent e) {
x1 = e.getX() - (img.getWidth() / 2);
y1 = e.getY() - (img.getHeight() / 2);
repaint();
}
}
用这种方法我可以“拖动”一张图片,但是当我要单独拖动时怎么办?
最佳答案
使用 BufferedImage 创建一个用于创建 JLabel 的 ImageIcon。然后将 JLabel 添加到使用空布局的面板。不需要自定义绘画代码来执行此操作。
现在如果你想拖动标签,你可以使用 Component Mover .
关于java - 在 Java2D 中移动多个 BufferedImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2606619/