我目前正在为IBM Rational Rhapsody创建一个插件。知道这个工具对于这个讨论来说并不是真的有必要,但我想提一下以防万一。 基本上我在Eclipse中编写了Java代码并通过Jar运行它以导入Rhapsody。
插件可能需要用户交互才能运行:例如,插件可能正在创建模型的元素,但不知道将其放入哪个数据包,因此它会提示用户提供指令。 为此,我创建了一个调用setModal(true)方法的JDialog类;如您所知,这可确保创建对话框的线程在用户提供输入之前停止运行。 在Eclipse上,这一切都很完美,但是当jar在Rhapsody上运行时,它并没有达到我的预期。除了在提供输入之前停止运行插件,它还会停止Rhapsody应用程序并导致UML模型无法使用。 更清楚的是,为了让用户知道在哪里插入输入,他们必须能够使用和分析UML模型。我想要实现的是我的对话框只会阻止插件运行,而不是整个模型。
我还没有编写一行代码,因为这是一个概念问题:如何在一个线程上创建一个工具外部的插件,允许在插件运行时使用该工具?
我希望我的问题很清楚,我很难解释这个问题。
谢谢大家的帮助, 奴
答案 0 :(得分:0)
Rhapsody插件在与Rhapsody应用程序相同的进程中运行,因此您可以尝试使用帮助程序而不是插件。 Rhapsody助手在一个单独的进程中运行。您可以在工具下添加帮助程序 - >自定义 - >助手。从那里,您可以调用Swing应用程序并使用Rhapsody API查询/更改模型。