在研究了如何使用Label DnD 后,我遇到了使用此解决方案的问题:
public class LayerItem extends JLabel {
int x = 0, y = 0;
public LayerItem(String text) {
this.setText(text);
this.addMouseMotionListener(new MouseAdapter(){
@Override
public void mouseDragged(MouseEvent evt){
lblMouseDragged(evt);
}
});
}
protected void lblMouseDragged(MouseEvent evt){
this.x = evt.getX();
this.y = evt.getY();
}
}
当用户单击并按住 JLabel 时,X 和 Y 会随着鼠标移动而被记录下来。但是,我不知道如何知道单击何时停止(即,用户到达他的目标 JPanel)然后将文本移入其中。
允许 JPanels 接收放置操作的唯一参考是执行以下操作:
new JPanel().setDropTarget(getDropTarget());
但是,我无法再次找到有关通过 JLabel 作为坐标(绝对布局)放置目标的任何参考。
慕斯王
相关分类