2016-03-16 117 views
1

我想有一個InfiniteContainer,它的行爲也像一棵樹,所以我可以擴展節點。什麼是最好的方法來做到這一點?如何擴展InfiniteContainer擴展Tree類節點的能力?

我想我可以將InfiniteContainer擴展到MyInfiniteContainer,並手動複製樹中的所有代碼,但我希望有一個不太麻煩的方法。

回答

0

有3個可能性,我可以用3個不同的答案,想着:

  1. 這是一個很長的列表,其中的一些內容可以擴展。

  2. 這是一個非常深刻的Tree

  3. 這是AA很長的列表,併爲所有條目

了非常深刻的樹選項1我只想用一個Tree組件有時內標準按鈕或任何你在InfiniteContainer。確保在Tree元素上調用setScrollable(false)以防止嵌套滾動。

對於選項2我會直接去Tree並忽略InfiniteContainer。你可以自己實現自己調用的TreeModel

我想在選擇3時嘗試相同的解決方案1,但如果它不縮放,你可以看看樹源代碼,並嘗試實現類似的東西。

+0

(點擊Enter提前)謝謝!這是一個很長的名單,其中一些元素可能是潛在的深層樹木。所有級別的元素都是相同的(遞歸擴展)。但是,很可能只有少數幾個會在任何時候擴展,所以1.很可能是好的。無論如何,我想用更復雜的組件替換樹按鈕(使用多個按鈕來執行不同的操作,如expandTree,editElement)。因此,如果我理解正確,我可以簡單地在InfiniteContainer組件中添加一個Tree模型,並在InfiniteContainer和Tree中使用相同的精細組件。 – user1246562

+0

您可以將樹添加到InfiniteContainer中(只要您將其設置爲不可滾動)。您可以覆蓋樹組件的創建邏輯,使其具有複雜的按鈕。 –