我需要引用创建SWT元素的Part对象。 Part正在像这样(e4)在LabelPart中创建一个@PostConstruct

public class SomePart {
    @PostConstruct
    public void postConstruct(Composite parent) {
        ...
        Label someLabel = new Label(parent);
        ...
    }
}


需要获得像这样创建someLabel的零件:

(SomePart) someLabel.getMyParentPartPlease()


还需要在RCP 3.x中获得此类参考,但是我非常乐意在任何RCP版本上获得帮助。

最佳答案

为什么不在有问题的Part的数据字段中设置Widget,从而允许客户在对象上设置任意数据?

public class SomePart {
    @PostConstruct
    public void postConstruct(Composite parent) {
        ...
        Label someLabel = new Label(parent);
        someLabel.setData(this);
        ...
    }
}


然后再:

SomePart part = (SomePart) someLabel.getData();

10-04 10:24