gpt4 book ai didi

java - JFace 删除 POJO 的不同实例

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:41 24 4
gpt4 key购买 nike

我有一个 Label 包裹在 POJO 中。所有外部操作都委托(delegate)给标签。

我(在内部)将 DragSource Hook 到所述Label。传输是LocalSelectionTransfer

DragSourceAdapter的实现:

@Override public void dragSetData(DragSourceEvent e)
{
transfer.setSelection(new StructuredSelection(this)); // *this* is the POJO wrapper
}

问题:

在放置事件(外部)时,如果我这样做

final Object newObj = ((StructuredSelection) transfer.getSelection()).getFirstElement();

newObj 将是 POJO$1POJO$2 等。

这是什么原因呢?为什么我没有得到 instanceof POJO

最佳答案

正如您所说,new StructuredSelection(this) 位于 DragSourceAdapter 的实现中,因此 this 是实现(“POJO”的匿名内部类)而不是 POJO 本身!您需要 new StructuredSelection(POJO.this) 来引用外部实例(显然,将 POJO 替换为您的类的实际名称)。

有点题外话,但我不会将直接与 GUI 相关的类称为“POJO”。

关于java - JFace 删除 POJO 的不同实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18120140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com