jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
offsetX = e.getX();
offsetY = e.getY();
}
}
});
jLabel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent e) {
jLabel.setLocation(e.getX()+(jLabel.getX()-offsetX), e.getY()+(jLabel.getY()-offsetY));
}
});
这样是把LABEL整个移动了,我的目的是移动LABEL上的图片。因为,LABEL就那么大,但上面图片很大,我要像移动地图那样移动一点露出一点。
我自己也想了,jLabel.setLocation(e.getX()+(jLabel.getX()-offsetX), e.getY()+(jLabel.getY()-offsetY));
这句应该不是jLabel.setLocation 而应该是图片.setLocation 但具体的我不会写,希望有人能够帮助我。
------解决方案--------------------
缺少一个容器,你自己想想,弄个什么容器好,然后把你的label放到容器里面去