1

我正在使用 Java 2d 图形(即绘制和填充矩形)从存储在 Arraylist 中的一组值直接在 JFrame 上绘制图形。但是当 ArrayList 具有非常多的值(甚至可以达到 3500 的大小)时,图形会被压缩 - 图形似乎信息量较少,甚至 X 轴上的标签也不会显示。有没有一种方法可以使图表以多种页面方式显示(即限制页面可以显示多达 100 个值 - 剩余的值在用户可以按页面导航的不同页面中)。

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

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

提前谢谢了

4

1 回答 1

1

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

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

于 2010-07-30T12:12:06.063 回答