2012-06-11 44 views
2

我不是一個用戶界面的人,所以我希望得到一些關於如何在Swing中繪製的建議。我想最終得到如下圖所示的結果。 enter image description hereSwing:隨着時間的推移繪製可用性

它表示可用性隨時間(時間軸在圖像中未示出,但它會是在底部或頂部)。垂直條代表當前時間。我看着像JFreeChart這樣的圖書館,但是我沒有看到任何可以輕易變成這個的東西,或者我錯過了什麼?通過在JPanel或其他東西中重寫paint()手動繪製類似的東西很容易,但我不想在左邊的元素上手動處理摺疊/展開邏輯。我的下一個想法可能是一個帶定製單元格的JTree,我可以繪製可用性欄。這樣我就不必處理崩潰/展開邏輯。

有什麼建議嗎?有我可以使用的圖表/圖表庫嗎?我應該從頭開始嗎?擴展一些現有的Swing組件?

感謝

+0

有什麼JFreeChart不能很好地工作? –

+0

該圖形看起來不那麼困難/複雜,爲什麼不直接在JPanel上繪製? –

+0

@HovercraftFullOfEels我的意思是,它看起來並不像有任何圖表能夠做到我想要的那樣。例如,也許我可以修改一個簡單的折線圖來完成不同的彩色線段以獲得紅色/綠色的線條,但是我將如何在y軸上展開/摺疊標籤? – Neal

回答

2

JFreeChart能做的一切,除了外形,爲此,我會使用outline和合適的表單元格渲染器。

+1

或SwingX項目中的'JXTreeTable' – Robin

2

您正在尋找的術語是「甘特圖」。 JFreeChart的確有一個圖表,但它不是互動的。有一些免費的Java庫(e-gantt是一個),但不能與樹表結合(據我所知)。

因此,如果這是必需的,你可以在其他答案建議建立一個樹表的東西,或與商業庫去(JGantt,積德甘特(聲明我工作的那一個;))

相關問題