如何更改 JFreeChart 的大小 [英] How do I change a JFreeChart's size
问题描述
我已将 JFreeChart
添加到 JPanel
(使用 BorderLayout
),它巨大.有什么办法可以让它变小吗?
I've added a JFreeChart
to a JPanel
(using a BorderLayout
), and it's huge. Is there something I can do to make it smaller?
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);
chart.setBackgroundPaint(Color.white);
chart.getTitle().setPaint(Color.black);
CategoryPlot p = chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.blue);
//cp.setMaximumDrawHeight(5);
//cp.setMaximumDrawWidth(5);
//cp.setZoomOutFactor(.1);
JPanel graph = new JPanel();
graph.add(cp);
middle.add(graph, BorderLayout.CENTER);
}
推荐答案
当您创建 ChartPanel
,你有几个影响结果的选项:
When you create your ChartPanel
, you have several options that affect the result:
接受
DEFAULT_WIDTH
和DEFAULT_HEIGHT
:680 x 420.
Accept the
DEFAULT_WIDTH
andDEFAULT_HEIGHT
: 680 x 420.
在构造函数中指定首选的width
和height
.
Specify the preferred width
and height
in the constructor.
如果适当,则显式调用setPreferredSize()
.
覆盖 getPreferredSize()
以动态计算大小.
Override getPreferredSize()
to calculate the size dynamically.
@Override
public Dimension getPreferredSize() {
// given some values of w & h
return new Dimension(w, h);
}
选择容器的布局将添加 ChartPanel
.注意JPanel
的默认布局是FlowLayout
,而JFrame
的默认布局是BorderLayout
.作为一个具体的例子,ThermometerDemo
使用构造函数中的首选值和 GridLayout
允许动态调整大小的容器.
Choose the layout of the container to which the ChartPanel
will be added. Note that the default layout of JPanel
is FlowLayout
, while that of JFrame
is BorderLayout
. As a concrete example, ThermometerDemo
uses both preferred values in the constructor and a GridLayout
for the container to allow dynamic resizing.
这篇关于如何更改 JFreeChart 的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!