【问题标题】:How can I have a jfreechart ChartPanel automatically enlarge itself?如何让 jfreechart ChartPanel 自动放大?
【发布时间】:2011-08-13 19:46:02
【问题描述】:

我有一个带有 ChartPanel 作为其唯一组件的 Swing JFrame。当我调整框架大小时,图表面板会像图像一样被拉伸。例如,如果我垂直收缩它,所有的字符都会被压缩。

是否可以让 ChartPanel 在调整大小事件时重绘自身,以便在图表上显示更多细节,而不是作为静态图像拉伸?

【问题讨论】:

  • 您是否将ChartPanel 放入JScrollPane 中?

标签: swing jfreechart


【解决方案1】:

在构建 ChartPanel 时,您必须更改一些选项:

 * @param minimumDrawWidth  the minimum drawing width.
 * @param minimumDrawHeight  the minimum drawing height.
 * @param maximumDrawWidth  the maximum drawing width.
 * @param maximumDrawHeight  the maximum drawing height.

【讨论】:

  • 我遇到了同样的问题,这对我帮助很大。现在它正在完美地调整大小。
【解决方案2】:

我有同样的问题。我现在意识到 ADR 给出了解决方案:您必须设置最小和最大绘图宽度和高度,例如:

chartPanel.setMinimumDrawWidth( 0 );
chartPanel.setMinimumDrawHeight( 0 );
chartPanel.setMaximumDrawWidth( 1920 );
chartPanel.setMaximumDrawHeight( 1200 );

【讨论】:

    【解决方案3】:

    ChartPanel 具有控制缩放的方法,如example 所示。我没有看到字符被压缩。

    【讨论】:

    • restoreAutoBound() 打破了我手动设置的 Y 轴范围。哪种方法控制您的示例中的缩放?当我调整窗口大小时,我也会拉伸或压缩文本。 (我有一个带有 TabPanel 的 JFrame 窗口和一个带有 JPanel 的选项卡,并且 JPanel 包含 JFreeChart 的 ChartPanel;所有内容都使用 JFrame 调整大小)。
    • ChartPanel 管理缩放。向您的sscce 提出一个问题,展示您描述的问题。另见ThermometerDemoBoxAndWhiskerDemo
    • 我只是想问一下,在你的例子中,当你点击窗口的Maximium按钮后,整个图表不会被拉伸或压缩吗?至少,当我运行您的示例并最大化窗口时,我看到图表中的字符以及其他所有内容都被拉伸了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 2012-05-03
    • 2016-02-05
    • 2021-12-11
    • 1970-01-01
    相关资源
    最近更新 更多