0

我目前正在为 IBM Rational Rhapsody 创建一个插件。对于本次讨论,了解该工具并不是真正必要的,但我想提一下以防万一。基本上,我在 Eclipse 中编写了 Java 代码,然后通过一个 Jar 运行它以导入 Rhapsody。

插件可能需要用户交互才能运行:例如,插件可能正在创建模型的一个元素,但不知道将其放入哪个数据包中,因此它会提示用户输入指令。为此,我创建了一个调用 setModal(true) 方法的 JDialog 类;如您所知,这确保创建对话框的线程停止运行,直到用户提供输入。在 Eclipse 上,这一切都很完美,但是当 jar 在 Rhapsody 上运行时,它并没有达到我的预期。除了在提供输入之前停止插件运行之外,它还会停止 Rhapsody 应用程序并导致 UML 模型不可用。更清楚地说,为了让用户知道在哪里插入他们的输入,他们必须能够使用和分析 UML 模型。

我没有写一行代码,因为这是一个概念问题:如何制作一个在线程上运行的工具外部的插件,允许在插件运行时使用该工具?

我希望我的问题很清楚,我很难解释这个问题。

谢谢大家的帮助,佐丹奴

4

1 回答 1

0

Rhapsody 插件在与 Rhapsody 应用程序相同的进程中运行,因此您可以尝试的一件事是使用帮助程序而不是插件。Rhapsody 助手在单独的进程中运行。您可以在工具 -> 自定义 -> 助手下添加一个助手。从那里您可以调用您的 Swing 应用程序并使用 Rhapsody API 来查询/更改模型。

于 2016-08-08T20:36:04.873 回答