首页 > Java > java教程 > 如何在 JPanel 中自定义 JFreeChart 的大小?

如何在 JPanel 中自定义 JFreeChart 的大小?

DDD
发布: 2024-12-14 08:40:12
原创
816 人浏览过

How Can I Customize JFreeChart's Size within a JPanel?

为 JPanel 自定义 JFreeChart 大小

在 JPanel 中,JFreeChart 的默认大小可能并不总是最佳的。以下是自定义尺寸的方法:

1.在构造函数中指定首选大小:

JPanel graph = new JPanel(new GridLayout());
graph.add(new ChartPanel(chart, 500, 300));
登录后复制

2。调用 setPreferredSize()

ChartPanel cp = new ChartPanel(chart);
cp.setPreferredSize(new Dimension(500, 300));
登录后复制

3.重写 getPreferredSize()

@Override
public Dimension getPreferredSize() {
    return new Dimension(w, h);
}
登录后复制

4。选择容器布局

JPanel 的 FlowLayout 不适合调整大小,而 JFrame 中的 BorderLayout 允许动态调整大小。

5.其他方法

  • setMaximumDrawHeight() 和 setMaximumDrawWidth() 限制图表的可绘制区域。
  • setZoomOutFactor() 将图表缩小因素。

示例:

public void generateChart() {
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    //set the values of the chart
    for(int i=0; i<8; i++)
    {
        dataset.setValue(income_array[i], "Income",
            Double.toString(percent_array[i]));
    }

    JFreeChart chart = ChartFactory.createBarChart(
        "Required Annual Income for a Variety of Interest Rates",
        "Percent", "Income", dataset, PlotOrientation.VERTICAL,
        false,true, false);
    ChartPanel cp = new ChartPanel(chart, 500, 300);

    chart.setBackgroundPaint(Color.white);
登录后复制

以上是如何在 JPanel 中自定义 JFreeChart 的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板