2011-06-02 40 views
2

我目前正在嘗試在java中爲yEd轉儲圖形。我一直在嘗試使用graphml格式,但我發現它非常麻煩。尤其是,節點的大小不會根據標籤的大小調整大小,因此大部分時間標籤將比實際文件大。最簡單的格式,用於轉儲yEd的圖形

有沒有什麼辦法可以補救這一點,而不需要真正進入並指定每個節點的寬度和高度?

感謝

+0

5秒鐘後,我關閉這個,我發現適合節點標籤按鈕...:\,如果我可以生成完整的節點尺寸仍然會很好 – Xzhsh 2011-06-02 23:22:45

回答

2

有一種方法,雖然這種方式使用非官方API,不得以任何釋放,但目前的一個(3.9.2寫作的)工作。

在GraphML添加下列鍵上圖級別:

<g:key id="ppkey" for="graph" yfiles.type="postprocessors"/> 
    <g:graph id="G" edgedefault="directed"> 
    <g:data key="ppkey"> 
     <y:Postprocessors> 
     <y:Processor class="A.A.A.A.A"> 
      <y:Option name="IGNORE_WIDTHS" value="false"/> 
      <y:Option name="IGNORE_HEIGHTS" value="true"/> 
      <y:Option name="ADAPT_TO_MAXIMUM_NODE" value="false"/> 
     </y:Processor> 
     </y:Postprocessors> 
    </g:data> 
    </g:graph> 

正如你可以看到「A.A.A.A.A」,顯然是混淆的類名,並可能改變之間架起並在某種程度上打破你的腳本。

造成這種不便的原因實際上很簡單:yEd不應該以自動方式使用(許可證甚至明確禁止純自動使用情況),因此針對交互式使用進行了優化。所以實際上打算點擊按鈕。爲什麼?因爲yEd是一個基於強大商業圖書館的免費產品,它只是免費的,因爲電力用戶爲圖書館購買許可證,因此以贊助yEd的開發和支持的方式。如果您確實需要以編程方式利用該功能,則應該直接查看庫的授權許可。這就是說,你也可以嘗試Excel導入 - 它會自動爲你執行這一步,但是你將不得不創建一個從頭開始的Excel文件。