2012-08-10 32 views
0

我想隱藏/顯示combinedDomainXYPlot中的情節,但該類只允許添加/移除情節。例如,如果我有3個圖,我刪除第二個圖,然後添加它,在視覺上將它添加爲底部的第三個圖。有什麼方法可以直觀地維護圖表順序嗎?JFreeChart combinedDomainXYPlot - 維護劇情順序

+0

當你全部刪除它們並按順序添加所需的時候會發生什麼? – trashgod 2012-08-10 19:42:47

+0

這就是我在想什麼,但我需要確保使用單獨集合的順序是正確的... – Bober02 2012-08-11 07:45:00

+0

我會在循環選擇模型時構建顯示列表;如果顯示效果可以接受,我很好奇。 – trashgod 2012-08-11 11:45:02

回答

2

我會使用一個ListSelectionModel,這是提供給兩個JListhere顯示,和JTablehere所示。前者具有靈活的佈局,而後者具有方便的JCheckboxrenderer/editor

讓我們假設您的模型最終會生成名爲selectedList<Plot>。你可以通過getSubplots()列表循環到remove()所有當前的地塊,然後循環通過你的List<Plot>add()每個選定的陰謀。

附錄:如果副區是其它方面相同的,則可以向add()remove()副區的最小數目和替換那些仍然使用setDataset()所示here的模型。它稍微複雜一些,但可能不會造成視覺上的混亂。

0

根據您正在使用的Renderer,您可以使用AbstractRenderer.setSeriesVisible

這隱藏而不是刪除系列,所以訂單不受影響。例如,如果您有權訪問JFreeChart演示,請查看HideSeriesDemo1。

+0

不合作,因爲我想讓整個情節消失 – Bober02 2012-08-10 17:00:53