Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java,如果可拖动对象与其他对象接触_Java_Draggable_Jlabel - Fatal编程技术网

Java,如果可拖动对象与其他对象接触

Java,如果可拖动对象与其他对象接触,java,draggable,jlabel,Java,Draggable,Jlabel,我有一个拖动标签宽度鼠标的代码 lbl_banner.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { //catching the current values for x,y coordinates on screen x_pressed = e.getX(); y_pressed = e.getY()

我有一个拖动标签宽度鼠标的代码

lbl_banner.addMouseListener(new MouseAdapter()
{
    @Override
    public void mousePressed(MouseEvent e) {
        //catching the current values for x,y coordinates on screen
        x_pressed = e.getX();
        y_pressed = e.getY();
    }
});

lbl_banner.addMouseMotionListener(new MouseMotionAdapter(){
    @Override
    public void mouseDragged(MouseEvent e){
        //and when the Jlabel is dragged
        setLocation(e.getXOnScreen() - x_pressed, e.getYOnScreen() - y_pressed);
    }
});
现在,我如何制作一个函数:当我在屏幕上拖动这个标签时,如果拖动的标签接触到其他对象(标签、按钮等)来做一些事情

if(//labelTouchesSomething){//do something}

虽然从技术上讲,这不是拖动,而是组件的动态移动(拖动是组件之间内容的传输),但您可以计算当前移动组件与其他组件的交集(这可能需要在层次结构中进行一些导航)。也许这可以帮助你:。您还可以使用
组件的
contains
方法来确定某些坐标是否位于组件内部。

虽然从技术上讲,这不是拖动,而是组件的动态移动(拖动是组件之间内容的传输),您可以计算当前移动组件与其他组件的交集(这可能需要在层次结构中进行一些导航)。也许这可以帮助你:。您还可以使用
组件的
contains
方法来确定某些坐标是否位于组件内部