2014-03-04 19 views
0

我正在開發針對Cytoscape 3的捆綁應用程序。在此應用程序中,我需要一個與內置的View > Arrange Network Windows > Grid或Ctrl + G非常相似的funcionality。使用API​​(版本3)排列Cytoscape網絡窗口

但是,我似乎無法在Cytoscape的API中找到任何允許我排列網絡窗口的API。

背後的源代碼內建的funcionality可以在這裏找到:https://github.com/cytoscape/cytoscape-impl/blob/cbd6ae7202a2137d0224862aa371b82c1ec9a7a7/swing-application-impl/src/main/java/org/cytoscape/internal/view/CyDesktopManager.java#L81

正如你可以看到我需要的JDesktopPane的一個參考,我怎麼得到這個通過API?

回答

0

我不認爲有乾淨的API方式來實現我想要的。但是,您可以這樣做:

在激活程序中,您可以檢索CySwingApplication參考號:getService(bc, CySwingApplication.class),從中可以調用方法.getJFrame()。您可以遞歸掃描所有揮杆Container組件,直到找到類型爲JDesktopPane的組件。當您撥打JDesktopPane.getAllFrames()時,您可以使用網絡窗口執行任何操作(JInternalFrame)。