2010-07-27 59 views
1

我使用Java 2d图形(即绘制和填充矩形)直接从Arraylist中存储的一组值中绘制图形。 但是,当ArrayList具有非常大数量的值(甚至可以达到3500的大小)时,绘图被压缩 - 图形看起来不太明显,甚至X轴上的标签也不显示。有没有一种方法可以使图形以多种页面方式显示(即限制页面最多显示100个值 - 其余页面中用户可以按页面浏览)。绘制Java 2D图表跨越多个视图或面板或水平滚动

我该如何处理这种情况? 是否有任何可以使用的堆叠布局?我可以使用面板吗?但之后我可以在面板中绘制一半(因为图形是在一个循环内绘制的 - 直到读取arraylist的元素)? 或者我可以有一个可滚动的面板? 我目前在NetBeans中手动绘制所有内容,而无需使用拖放式GUI。

非常感谢任何见解,建议和想法。

提前

回答

1

感谢一个快速的解决方法就是把你的面板在JScrollPane。您也可以使用card layout。只需将图形放在n个页面上,并在每个页面上显示图形的1/n部分即可。这应该是相对容易的,因为你正在绘制图表。坦率地说,你甚至不需要为你正在做的事情做一个卡片布局。当按下按钮时,只需告诉你的图表面板显示哪部分图形,并相应地更新它自己。

另一种选择是使用图表库,而不是手动创建图表。 JFreeChart是一个常用的库,它允许用户放大和缩小图表。