Drag n Drop Objetos Java

2 respostas
paulo.ubuntu

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

2 Respostas

paulo.ubuntu

Opa....sem querer achei o calculo aqui

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

Abraços

Desculpa pelo Topico

/*
 * 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();
  }
  
  
  // <editor-fold defaultstate="collapsed" desc=" Código Gerado ">                          
  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();
  }// </editor-fold>                        

  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                   
  
}
zVictor

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

Criado 14 de novembro de 2007
Ultima resposta 21 de jun. de 2008
Respostas 2
Participantes 2