Drag n Drop Objetos Java

Ola, eu já consegui movimentar o Objeto que desejo no JFrame, porem…durando a Movimentação…o Objeto fica com a ponta esqurda superior no meu ponteiro…mas movimenta normalmente.
o que queria era fazer com que ao movimentar o meu objeto centralizassee no ponteiro do mouse…
mas não encontrei o calculo necessario

Aguardo Respostas

Opa…sem querer achei o calculo aqui

to postando o Código pra quem quiser ver…e mexer

Abraços

Desculpa pelo Topico

[code]/*

  • MoveLabelMouse.java
  • Created on 13 de Novembro de 2007, 23:46
    */

package swing;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

/**
*

  • @author Paulo & Shirley
    /
    public class MoveLabelMouse extends javax.swing.JFrame
    implements MouseListener{
    private int xSel,ySel;
    /
    * Creates new form MoveLabelMouse */
    public MoveLabelMouse() {
    initComponents();
    }

//
private void initComponents() {
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 36));
jLabel1.setText("Eu te Amo");
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mouseClicked(java.awt.event.MouseEvent evt) {
    jLabel1MouseClicked(evt);
  }
});
jLabel1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
  public void mouseDragged(java.awt.event.MouseEvent evt) {
    jLabel1MouseDragged(evt);
  }
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  .addGroup(layout.createSequentialGroup()
    .addGap(53, 53, 53)
    .addComponent(jLabel1)
    .addContainerGap(55, Short.MAX_VALUE))
);
layout.setVerticalGroup(
  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  .addGroup(layout.createSequentialGroup()
    .addGap(40, 40, 40)
    .addComponent(jLabel1)
    .addContainerGap(73, Short.MAX_VALUE))
);
pack();

}//

private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {

}

private void jLabel1MouseDragged(java.awt.event.MouseEvent evt) {

xSel = jLabel1.getLocation().x;
ySel = jLabel1.getLocation().y;

jLabel1.setLocation((evt.getX() + xSel )- (jLabel1.getWidth() / 2),(evt.getY() + ySel) - (jLabel1.getHeight() / 2));
repaint();
xSel = evt.getX();
ySel = evt.getY();
}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MoveLabelMouse().setVisible(true);
}
});
}

public void mouseClicked(MouseEvent e) {
}

public void mousePressed(MouseEvent e) {
}

public void mouseReleased(MouseEvent e) {
}

public void mouseEntered(MouseEvent e) {
}

public void mouseExited(MouseEvent e) {
}

// Declaração de variáveis - não modifique
private javax.swing.JLabel jLabel1;
// Fim da declaração de variáveis

}
[/code]

desculpo e agradeço :smiley:
me ajudou aki, vlw