gpt4 book ai didi

java - 如何在自定义对象中注入(inject)对象

转载 作者:行者123 更新时间:2023-12-02 03:04:00 24 4
gpt4 key购买 nike

我正在实现一个更新函数,它将使用服务器响应来处理更新。现在我的更新需要要求用户(在对话框中)重新启动应用程序。我可以在类中执行的唯一注入(inject)是 IEclipseContext。

现在如何获取当前正在运行的 Eclipse RCP 应用程序的 UISynchronize?这样我就可以安全地运行这个方法:

private void showMessage(UISynchronize sync, final String message) {
sync.syncExec(new Runnable() {

@Override
public void run() {
MessageDialog.openInformation(null, "Information", message);
}
});
}

最佳答案

UISynchronize 位于应用程序 IEclipseContext 中,因此它在除 OSGi 服务上下文之外的任何上下文中都可用。

UISynchronize 所做的就是调用 Display.asyncExec,因此如果您没有可用的上下文,只需使用传统的

Display.getDefault().asyncExec(....)

关于java - 如何在自定义对象中注入(inject)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41997279/

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