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

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

DDD
DDD原创
2024-12-14 08:40:12819浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn