Cara, não sei se vai ajudar, mas em http://www.javaworld.com/jw-03-1999/jw-03-dragndrop.html
tem um artigo muito bom sobre DnD. Lá tem alguns fontes de exemplo…
qq coisa, avisa.
[]s!
Tkm
Cara, não sei se vai ajudar, mas em http://www.javaworld.com/jw-03-1999/jw-03-dragndrop.html
tem um artigo muito bom sobre DnD. Lá tem alguns fontes de exemplo…
qq coisa, avisa.
[]s!
Tkm
Bom dia pessoal,
Já dei uma olhada preliminar por ai, mas não encontrei o que eu queria.
O Swing oferece suporte para Drag’n’Drop de componentes, ou devo programar esse comportamento atraves de listeners de Mouse?
Alguém já fez isso, ou recomenda alguma coisa?
Só o que encontrei até agora foi a implementação com TransferHandler que faz o Drag’n’Drop de conteúdo, que não é o que eu quero.
Continuarei pesquisando, obrigado pela ajuda desde já.
Bom, não achei conteúdo, resolvi implementar,
Mas o comportamento está estranho, como se o componente voltasse à posição original. Alguém consegue enxergar onde estou errando?
class Tester {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.getContentPane().setLayout(null);
JLabel label = new JLabel("LABEL");
label.setBounds(50, 50, 80, 80);
label.addMouseMotionListener(new MouseListenerImpl());
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, 800, 600);
frame.setVisible(true); }
});
}
}
class MouseListenerImpl extends MouseMotionAdapter {
@Override
public void mouseDragged(MouseEvent e) {
JComponent comp = (JComponent) e.getComponent();
comp.setLocation(e.getX(), e.getY());
System.out.printf("(%d, %d)\n", e.getX(), e.getY());
}
}
Novamente, agradeço pela ajuda.