使用API​​(版本3)安排Cytoscape网络窗口

时间:2014-03-04 08:31:14

标签: cytoscape

我正在为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/view/CyDesktopManager.java#L81

如您所见,我需要对JDesktopPane的引用,如何通过API获取此内容?

1 个答案:

答案 0 :(得分:0)

我认为没有干净的API实现我想要的方式。但是你可以这样做:

在您的激活器中,您可以检索CySwingApplication引用:getService(bc, CySwingApplication.class),您可以从中调用方法.getJFrame()。您可以递归扫描所有swing Container组件,直到找到类型为JDesktopPane的组件。当您致电.getAllFrames()的{​​{1}}时,您可以对网络窗口(JDesktopPane)执行任何操作。