当前位置: 代码迷 >> java >> 如何在Java SWT中的dragEnter期间获取源组件
  详细解决方案

如何在Java SWT中的dragEnter期间获取源组件

热度:66   发布时间:2023-07-25 19:53:48.0

我想创建以下工作流程:

  1. 有两种类型的盒子(A和B)和两种类型的篮子(C和D)。
  2. 两种类型的框都可以拖放到基于C的框中。
  3. 但是只能将类型A的框拖放到D中。

我想在DropTargetListener中的dragEnter事件期间检测框的类型(A或B),以便可以将光标更改为DROP_NONE。

但是现在我所能做的就是在实际的掉落事件中检测到它,然后在与篮筐不兼容时将其丢弃。

请指导我如何解决此问题。

注意:我正在使用SWT org.eclipse.swt.dnd框架。

片段:

我想做这样的事情:

public void dragEnter (DropTargetEvent e)
{
    Box b = e.getSource // this is the part I need help with

    if(b.type == 'B')
       e.detail = DROP_NONE;
}

您可以创建一个静态变量来保留当前拖动源。 您可以在dragStart设置它,并在dragFinished其为dragFinished 然后,在dragEnter和其他事件中使用它进行评估。

  相关解决方案