2010-07-27 112 views
1

我使用Java 2d圖形(即繪製和填充矩形)直接從Arraylist中存儲的一組值中繪製圖形。 但是,當ArrayList具有非常大數量的值(甚至可以達到3500的大小)時,繪圖被壓縮 - 圖形看起來不太明顯,甚至X軸上的標籤也不顯示。有沒有一種方法可以使圖形以多種頁面方式顯示(即限制頁面最多顯示100個值 - 其餘頁面中用戶可以按頁面瀏覽)。繪製Java 2D圖表跨越多個視圖或面板或水平滾動

我該如何處理這種情況? 是否有任何可以使用的堆疊佈局?我可以使用面板嗎?但之後我可以在面板中繪製一半(因爲圖形是在一個循環內繪製的 - 直到讀取arraylist的元素)? 或者我可以有一個可滾動的面板? 我目前在NetBeans中手動繪製所有內容,而無需使用拖放式GUI。

非常感謝任何見解,建議和想法。

提前

回答

1

感謝一個快速的解決方法就是把你的面板在JScrollPane。您也可以使用card layout。只需將圖形放在n個頁面上,並在每個頁面上顯示圖形的1/n部分即可。這應該是相對容易的,因爲你正在繪製圖表。坦率地說,你甚至不需要爲你正在做的事情做一個卡片佈局。當按下按鈕時,只需告訴你的圖表面板顯示哪部分圖形,並相應地更新它自己。

另一種選擇是使用圖表庫,而不是手動創建圖表。 JFreeChart是一個常用的庫,它允許用戶放大和縮小圖表。