有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

swing绘图Java 2D图表跨越多个视图或面板或水平滚动

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

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

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

非常感谢


共 (1) 个答案

  1. # 1 楼答案

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

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