我想知道如何改變與一個VisualizationViewer與jung關聯的佈局的大小?如何在使用採摘模式時使用Jung更新佈局的大小?
我解釋了目的:實際上,當使用SatelliteVisualizationViewer時,我們可以選擇一個節點並將其移動到SatelliteVisualisationViewer未覆蓋的區域。
我們可以在JUNG發行版的SatelliteViewDemo類中看到這一點。啓動演示,選擇一個節點並將其移出佈局大小。該節點在VisualizationViewer中很好地顯示,但不在衛星視圖中顯示。
因此,我嘗試在PickingGraphMousePlugin的MouseListener中添加一些代碼,特別是在mouseReleased(...)方法中,以便通過包含圖的所有節點的矩形的大小來更新佈局大小。爲此,應該更新SatelliteView。 但如何做到這一點?
編輯:對不起,沒有足夠詳細。實際上,改變佈局大小並不會改變SatelliteView,因此位於佈局外部的頂點(拾取和移動操作之後)仍然不被SatelliteView覆蓋。
也許我錯過了什麼......
其實真正的問題是:如何改變由SatelliteVisualizationViewer覆蓋的區域? !
對不起就夠了。 實際上,改變佈局大小並不會改變SatelliteView,因此位於佈局外的頂點(在拾取和移動操作之後)仍然不被SatelliteView覆蓋。 也許我錯過了一些東西...... 其實真正的問題是:如何改變SatelliteVisualizationViewer覆蓋的區域? ! – njames 2011-04-23 09:00:56
您將需要更改VV尺寸(使用setSize())以及佈局尺寸。 (這可能有助於將佈局和可視化座標空間視爲不同,因爲它們是。)完成之後,您需要刷新可視化。 – 2011-04-25 21:28:05
我已經調查了這一點,但這並沒有使解決方案更接近。 實際上,您仍然可以將頂點放置在由satellitevisualizationviewer覆蓋的區域之外。考慮一個頂點可以被挑選並移動到「nord」並且擴展布局或者satellitevisualizationviewer的大小不會使頂點顯示出來。另一件事:刷新SatelliteVisualizationViewer是不夠的,我們不得不fireStateChange()。 – njames 2011-04-26 10:58:57