0

我正在为 Cytoscape 3 开发一个捆绑应用程序。在这个应用程序中,我需要一个与内置View > Arrange Network Windows > Grid或 Ctrl+G 非常相似的功能。

但是,我似乎在 Cytoscape 的 API 中找不到任何可以让我安排网络窗口的东西。

内置功能背后的源代码可以在这里找到:https ://github.com/cytoscape/cytoscape-impl/blob/cbd6ae7202a2137d0224862aa371b82c1ec9a7a7/swing-application-impl/src/main/java/org/cytoscape/internal/查看/CyDesktopManager.java#L81

如您所见,我需要对 JDesktopPane 的引用,如何通过 API 获得它?

4

1 回答 1

0

我不认为有干净的 API 方式来实现我想要的。但是,您可以按如下方式进行:

在您的激活器中,您可以检索CySwingApplication参考:getService(bc, CySwingApplication.class),您可以从中调用方法.getJFrame()。您可以递归地扫描所有 swingContainer组件,直到找到该类型的组件JDesktopPane。当您调用.getAllFrames()时,JDesktopPane您可以对网络窗口 ( JInternalFrame) 进行任何操作。

于 2014-03-06T08:32:34.703 回答