本文整理汇总了Java中org.jfree.chart.title.LegendTitle.setBackgroundPaint方法的典型用法代码示例。如果您正苦于以下问题:Java LegendTitle.setBackgroundPaint方法的具体用法?Java LegendTitle.setBackgroundPaint怎么用?Java LegendTitle.setBackgroundPaint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jfree.chart.title.LegendTitle
的用法示例。
在下文中一共展示了LegendTitle.setBackgroundPaint方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addLegend
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
protected final void addLegend() {
if (chart == null) {
throw new IllegalStateException("initChart() must be called first");
}
LegendTitle legend = new LegendTitle(chart.getPlot());
legend.setItemFont(LEGEND_FONT);
legend.setBorder(0, 0, 0, 0);
legend.setBackgroundPaint(Color.WHITE);
legend.setPosition(RectangleEdge.BOTTOM);
RectangleInsets padding = new RectangleInsets(5, 5, 5, 5);
legend.setItemLabelPadding(padding);
chart.addLegend(legend);
}
示例2: testEquals
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Check that the equals() method distinguishes all fields.
*/
public void testEquals() {
XYPlot plot1 = new XYPlot();
LegendTitle t1 = new LegendTitle(plot1);
LegendTitle t2 = new LegendTitle(plot1);
assertEquals(t1, t2);
t1.setBackgroundPaint(
new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.yellow)
);
assertFalse(t1.equals(t2));
t2.setBackgroundPaint(
new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.yellow)
);
assertTrue(t1.equals(t2));
t1.setLegendItemGraphicEdge(RectangleEdge.BOTTOM);
assertFalse(t1.equals(t2));
t2.setLegendItemGraphicEdge(RectangleEdge.BOTTOM);
assertTrue(t1.equals(t2));
t1.setLegendItemGraphicAnchor(RectangleAnchor.BOTTOM_LEFT);
assertFalse(t1.equals(t2));
t2.setLegendItemGraphicAnchor(RectangleAnchor.BOTTOM_LEFT);
assertTrue(t1.equals(t2));
t1.setLegendItemGraphicLocation(RectangleAnchor.TOP_LEFT);
assertFalse(t1.equals(t2));
t2.setLegendItemGraphicLocation(RectangleAnchor.TOP_LEFT);
assertTrue(t1.equals(t2));
t1.setItemFont(new Font("Dialog", Font.PLAIN, 19));
assertFalse(t1.equals(t2));
t2.setItemFont(new Font("Dialog", Font.PLAIN, 19));
assertTrue(t1.equals(t2));
}
示例3: applyToTitle
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Applies the attributes of this theme to the specified title.
*
* @param title the title.
*/
protected void applyToTitle(Title title) {
if (title instanceof TextTitle) {
TextTitle tt = (TextTitle) title;
tt.setFont(this.largeFont);
tt.setPaint(this.subtitlePaint);
}
else if (title instanceof LegendTitle) {
LegendTitle lt = (LegendTitle) title;
if (lt.getBackgroundPaint() != null) {
lt.setBackgroundPaint(this.legendBackgroundPaint);
}
lt.setItemFont(this.regularFont);
lt.setItemPaint(this.legendItemPaint);
if (lt.getWrapper() != null) {
applyToBlockContainer(lt.getWrapper());
}
}
else if (title instanceof PaintScaleLegend) {
PaintScaleLegend psl = (PaintScaleLegend) title;
psl.setBackgroundPaint(this.legendBackgroundPaint);
ValueAxis axis = psl.getAxis();
if (axis != null) {
applyToValueAxis(axis);
}
}
else if (title instanceof CompositeTitle) {
CompositeTitle ct = (CompositeTitle) title;
BlockContainer bc = ct.getContainer();
List blocks = bc.getBlocks();
Iterator iterator = blocks.iterator();
while (iterator.hasNext()) {
Block b = (Block) iterator.next();
if (b instanceof Title) {
applyToTitle((Title) b);
}
}
}
}
示例4: incluirLegenda
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
private void incluirLegenda(final XYPlot plot) {
if (isLegenda()) {
LegendTitle lt = new LegendTitle(plot);
lt.setItemFont(new Font("Dialog", Font.PLAIN, 11));
lt.setBackgroundPaint(new Color(255, 255, 255, 100));
lt.setBorder(new BlockBorder(new Color(180, 180, 180)));
lt.setPosition(RectangleEdge.TOP);
XYTitleAnnotation ta = new XYTitleAnnotation(0.01, 0.98, lt,
RectangleAnchor.TOP_LEFT);
ta.setMaxWidth(0.48);
plot.addAnnotation(ta);
}
}
示例5: setLegend
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
private void setLegend(JFreeChart chart, Plot plot, Font font) {
if(!showlegend) return;
Color bg = backgroundcolor==null?databackgroundcolor:backgroundcolor;
if(font==null)font=getFont();
LegendTitle legend = legendMultiLine?
new LegendTitle(plot,new ColumnArrangement(), new ColumnArrangement()):
new LegendTitle(plot);
legend.setBackgroundPaint(bg);
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
legend.setFrame(new LineBorder());
legend.setPosition(RectangleEdge.BOTTOM);
legend.setHorizontalAlignment(HorizontalAlignment.LEFT);
legend.setWidth(chartwidth-20);// geht nicht
legend.setItemFont(font);
legend.setItemPaint(foregroundcolor);
//RectangleInsets labelPadding;
legend.setItemLabelPadding(new RectangleInsets(2,2,2,2));
legend.setBorder(0,0,0,0);
legend.setLegendItemGraphicLocation(RectangleAnchor.TOP_LEFT);
legend.setLegendItemGraphicPadding(new RectangleInsets(8,10,0,0));
chart.addLegend(legend);
}
示例6: testEquals
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Check that the equals() method distinguishes all fields.
*/
public void testEquals() {
XYPlot plot1 = new XYPlot();
LegendTitle t1 = new LegendTitle(plot1);
LegendTitle t2 = new LegendTitle(plot1);
assertEquals(t1, t2);
t1.setBackgroundPaint(
new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.yellow)
);
assertFalse(t1.equals(t2));
t2.setBackgroundPaint(
new GradientPaint(1.0f, 2.0f, Color.red, 3.0f, 4.0f, Color.yellow)
);
assertTrue(t1.equals(t2));
t1.setLegendItemGraphicEdge(RectangleEdge.BOTTOM);
assertFalse(t1.equals(t2));
t2.setLegendItemGraphicEdge(RectangleEdge.BOTTOM);
assertTrue(t1.equals(t2));
t1.setLegendItemGraphicAnchor(RectangleAnchor.BOTTOM_LEFT);
assertFalse(t1.equals(t2));
t2.setLegendItemGraphicAnchor(RectangleAnchor.BOTTOM_LEFT);
assertTrue(t1.equals(t2));
t1.setLegendItemGraphicLocation(RectangleAnchor.TOP_LEFT);
assertFalse(t1.equals(t2));
t2.setLegendItemGraphicLocation(RectangleAnchor.TOP_LEFT);
assertTrue(t1.equals(t2));
t1.setItemFont(new Font("Dialog", Font.PLAIN, 19));
assertFalse(t1.equals(t2));
t2.setItemFont(new Font("Dialog", Font.PLAIN, 19));
assertTrue(t1.equals(t2));
}
示例7: createBarChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
private static JFreeChart createBarChart(ADCDataset dataset) {
AutoSubCategoryAxis categoryAxis = new AutoSubCategoryAxis(dataset);
categoryAxis.setCategoryLabelPositionOffset(0);
categoryAxis.setLabel(dataset.get(Attribute.X_AXIS_LABEL));
CategoryDataset fixedDataset = categoryAxis.getFixedDataset();
PartitionedNumberAxis vAxis = new PartitionedNumberAxis(
dataset.get(Attribute.Y_AXIS_LABEL));
CategoryPlot plot = new CategoryPlot(fixedDataset,
categoryAxis, vAxis, new Renderer(fixedDataset));
plot.setOrientation(PlotOrientation.VERTICAL);
JFreeChart chart = new JFreeChart(dataset.get(Attribute.TITLE),
JFreeChart.DEFAULT_TITLE_FONT, plot, false);
final LegendItemCollection items = new LegendItemCollection();
for(Condition c : Condition.values()) {
if(c != Condition.NOT_EVALUATED) {
items.add(new LegendItem(c.getLabel(), null, null, null,
new Rectangle2D.Double(-6.0, -6.0, 10.0,10.0), c.getColor()));
}
}
LegendTitle legend = new LegendTitle(new LegendItemSource() {
@Override
public LegendItemCollection getLegendItems() {
return items;
}});
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
legend.setBackgroundPaint(Color.white);
legend.setPosition(RectangleEdge.BOTTOM);
chart.addLegend(legend);
new StandardChartTheme("JFree").apply(chart);
return chart;
}
示例8: createChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Creates a chart.
*
* @param dataset a dataset.
*
* @return A chart.
*/
private static JFreeChart createChart(XYDataset dataset) {
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"Legal & General Unit Trust Prices", // title
"Date", // x-axis label
"Price Per Unit", // y-axis label
dataset, // data
false, // create legend?
true, // generate tooltips?
false // generate URLs?
);
chart.setBackgroundPaint(Color.white);
XYPlot plot = (XYPlot) chart.getPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
plot.setDomainCrosshairVisible(true);
plot.setRangeCrosshairVisible(true);
LegendTitle lt = new LegendTitle(plot);
lt.setItemFont(new Font("Dialog", Font.PLAIN, 9));
lt.setBackgroundPaint(new Color(200, 200, 255, 100));
lt.setBorder(new BlockBorder(Color.white));
lt.setPosition(RectangleEdge.BOTTOM);
XYTitleAnnotation ta = new XYTitleAnnotation(0.98, 0.02, lt,
RectangleAnchor.BOTTOM_RIGHT);
ta.setMaxWidth(0.48);
plot.addAnnotation(ta);
XYItemRenderer r = plot.getRenderer();
if (r instanceof XYLineAndShapeRenderer) {
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
renderer.setBaseShapesVisible(true);
renderer.setBaseShapesFilled(true);
}
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));
ValueAxis yAxis = plot.getRangeAxis();
yAxis.setLowerMargin(0.35);
return chart;
}
示例9: JFreeChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Creates a new chart with the given title and plot. The
* <code>createLegend</code> argument specifies whether or not a legend
* should be added to the chart.
* <br><br>
* Note that the {@link ChartFactory} class contains a range
* of static methods that will return ready-made charts, and often this
* is a more convenient way to create charts than using this constructor.
*
* @param title the chart title (<code>null</code> permitted).
* @param titleFont the font for displaying the chart title
* (<code>null</code> permitted).
* @param plot controller of the visual representation of the data
* (<code>null</code> not permitted).
* @param createLegend a flag indicating whether or not a legend should
* be created for the chart.
*/
public JFreeChart(String title, Font titleFont, Plot plot,
boolean createLegend) {
if (plot == null) {
throw new NullPointerException("Null 'plot' argument.");
}
// create storage for listeners...
this.progressListeners = new EventListenerList();
this.changeListeners = new EventListenerList();
this.notify = true; // default is to notify listeners when the
// chart changes
this.renderingHints = new RenderingHints(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
this.borderVisible = false;
this.borderStroke = new BasicStroke(1.0f);
this.borderPaint = Color.black;
this.padding = RectangleInsets.ZERO_INSETS;
this.plot = plot;
plot.addChangeListener(this);
this.subtitles = new ArrayList();
// create a legend, if requested...
if (createLegend) {
LegendTitle legend = new LegendTitle(this.plot);
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
legend.setFrame(new LineBorder());
legend.setBackgroundPaint(Color.white);
legend.setPosition(RectangleEdge.BOTTOM);
this.subtitles.add(legend);
}
// add the chart title, if one has been specified...
if (title != null) {
if (titleFont == null) {
titleFont = DEFAULT_TITLE_FONT;
}
this.title = new TextTitle(title, titleFont);
this.title.addChangeListener(this);
}
this.backgroundPaint = DEFAULT_BACKGROUND_PAINT;
this.backgroundImage = DEFAULT_BACKGROUND_IMAGE;
this.backgroundImageAlignment = DEFAULT_BACKGROUND_IMAGE_ALIGNMENT;
this.backgroundImageAlpha = DEFAULT_BACKGROUND_IMAGE_ALPHA;
}
示例10: JFreeChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Creates a new chart with the given title and plot. The
* <code>createLegend</code> argument specifies whether or not a legend
* should be added to the chart.
* <br><br>
* Note that the {@link ChartFactory} class contains a range
* of static methods that will return ready-made charts, and often this
* is a more convenient way to create charts than using this constructor.
*
* @param title the chart title (<code>null</code> permitted).
* @param titleFont the font for displaying the chart title
* (<code>null</code> permitted).
* @param plot controller of the visual representation of the data
* (<code>null</code> not permitted).
* @param createLegend a flag indicating whether or not a legend should
* be created for the chart.
*/
public JFreeChart(String title, Font titleFont, Plot plot,
boolean createLegend) {
ParamChecks.nullNotPermitted(plot, "plot");
// create storage for listeners...
this.progressListeners = new EventListenerList();
this.changeListeners = new EventListenerList();
this.notify = true; // default is to notify listeners when the
// chart changes
this.renderingHints = new RenderingHints(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
// added the following hint because of
// http://stackoverflow.com/questions/7785082/
this.renderingHints.put(RenderingHints.KEY_STROKE_CONTROL,
RenderingHints.VALUE_STROKE_PURE);
this.borderVisible = false;
this.borderStroke = new BasicStroke(1.0f);
this.borderPaint = Color.black;
this.padding = RectangleInsets.ZERO_INSETS;
this.plot = plot;
plot.addChangeListener(this);
this.subtitles = new ArrayList();
// create a legend, if requested...
if (createLegend) {
LegendTitle legend = new LegendTitle(this.plot);
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
legend.setFrame(new LineBorder());
legend.setBackgroundPaint(Color.white);
legend.setPosition(RectangleEdge.BOTTOM);
this.subtitles.add(legend);
legend.addChangeListener(this);
}
// add the chart title, if one has been specified...
if (title != null) {
if (titleFont == null) {
titleFont = DEFAULT_TITLE_FONT;
}
this.title = new TextTitle(title, titleFont);
this.title.addChangeListener(this);
}
this.backgroundPaint = DEFAULT_BACKGROUND_PAINT;
this.backgroundImage = DEFAULT_BACKGROUND_IMAGE;
this.backgroundImageAlignment = DEFAULT_BACKGROUND_IMAGE_ALIGNMENT;
this.backgroundImageAlpha = DEFAULT_BACKGROUND_IMAGE_ALPHA;
}
示例11: JFreeChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Creates a new chart with the given title and plot. The
* {@code createLegend} argument specifies whether or not a legend
* should be added to the chart.
* <br><br>
* Note that the {@link ChartFactory} class contains a range
* of static methods that will return ready-made charts, and often this
* is a more convenient way to create charts than using this constructor.
*
* @param title the chart title ({@code null} permitted).
* @param titleFont the font for displaying the chart title
* ({@code null} permitted).
* @param plot controller of the visual representation of the data
* ({@code null} not permitted).
* @param createLegend a flag indicating whether or not a legend should
* be created for the chart.
*/
public JFreeChart(String title, Font titleFont, Plot plot,
boolean createLegend) {
Args.nullNotPermitted(plot, "plot");
this.id = null;
plot.setChart(this);
// create storage for listeners...
this.progressListeners = new EventListenerList();
this.changeListeners = new EventListenerList();
this.notify = true; // default is to notify listeners when the
// chart changes
this.renderingHints = new RenderingHints(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
// added the following hint because of
// http://stackoverflow.com/questions/7785082/
this.renderingHints.put(RenderingHints.KEY_STROKE_CONTROL,
RenderingHints.VALUE_STROKE_PURE);
this.borderVisible = false;
this.borderStroke = new BasicStroke(1.0f);
this.borderPaint = Color.BLACK;
this.padding = RectangleInsets.ZERO_INSETS;
this.plot = plot;
plot.addChangeListener(this);
this.subtitles = new ArrayList();
// create a legend, if requested...
if (createLegend) {
LegendTitle legend = new LegendTitle(this.plot);
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
legend.setBackgroundPaint(Color.WHITE);
legend.setPosition(RectangleEdge.BOTTOM);
this.subtitles.add(legend);
legend.addChangeListener(this);
}
// add the chart title, if one has been specified...
if (title != null) {
if (titleFont == null) {
titleFont = DEFAULT_TITLE_FONT;
}
this.title = new TextTitle(title, titleFont);
this.title.addChangeListener(this);
}
this.backgroundPaint = DEFAULT_BACKGROUND_PAINT;
this.backgroundImage = DEFAULT_BACKGROUND_IMAGE;
this.backgroundImageAlignment = DEFAULT_BACKGROUND_IMAGE_ALIGNMENT;
this.backgroundImageAlpha = DEFAULT_BACKGROUND_IMAGE_ALPHA;
}
示例12: setChartLegend
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
protected void setChartLegend(JFreeChart jfreeChart, Integer baseFontSize)
{
//The legend visibility is already taken into account in the jfreeChart object's constructor
LegendTitle legend = jfreeChart.getLegend();
if (legend != null)
{
Font themeLegendFont = getFont((JRFont)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_FONT), getChart().getLegendFont(), baseFontSize);
legend.setItemFont(themeLegendFont);
Color legendForecolor = getChart().getOwnLegendColor() != null ?
getChart().getOwnLegendColor() :
(getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_FORECOLOR) != null ?
(Color)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_FORECOLOR) :
getChart().getLegendColor());
if (legendForecolor != null)
legend.setItemPaint(legendForecolor);
Color legendBackcolor = getChart().getOwnLegendBackgroundColor() != null ?
getChart().getOwnLegendBackgroundColor() :
(getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_BACKCOLOR) != null ?
(Color)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_BACKCOLOR) :
getChart().getLegendBackgroundColor());
if (legendBackcolor != null)
legend.setBackgroundPaint(legendBackcolor);
BlockFrame frame = (BlockFrame)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_FRAME);
if (frame != null)
legend.setFrame(frame);
HorizontalAlignment defaultLegendHAlignment = (HorizontalAlignment)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_HORIZONTAL_ALIGNMENT);
if (defaultLegendHAlignment != null)
legend.setHorizontalAlignment(defaultLegendHAlignment);
VerticalAlignment defaultLegendVAlignment = (VerticalAlignment)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_VERTICAL_ALIGNMENT);
if (defaultLegendVAlignment != null)
legend.setVerticalAlignment(defaultLegendVAlignment);
RectangleInsets defaultLegendPadding = (RectangleInsets)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_PADDING);
RectangleInsets legendPadding = legend.getPadding() != null ? legend.getPadding() : defaultLegendPadding;
if (legendPadding != null)
legend.setPadding(legendPadding);
RectangleEdge defaultLegendPosition = (RectangleEdge)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.LEGEND_POSITION);
if (getEdge(getChart().getLegendPositionValue(), defaultLegendPosition) != null)
legend.setPosition(getEdge(getChart().getLegendPositionValue(), defaultLegendPosition));
}
}
示例13: configureChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
*
*/
protected void configureChart(JFreeChart jfreeChart) throws JRException
{
if (getChart().getModeValue() == ModeEnum.OPAQUE)
{
jfreeChart.setBackgroundPaint(getChart().getBackcolor());
}
else
{
jfreeChart.setBackgroundPaint(null);
}
RectangleEdge titleEdge = getEdge(getChart().getTitlePositionValue(), RectangleEdge.TOP);
if (jfreeChart.getTitle() != null)
{
TextTitle title = jfreeChart.getTitle();
title.setPaint(getChart().getTitleColor());
title.setFont(fontUtil.getAwtFont(getFont(getChart().getTitleFont()), getLocale()));
title.setPosition(titleEdge);
}
String subtitleText = evaluateTextExpression(getChart().getSubtitleExpression());
if (subtitleText != null)
{
TextTitle subtitle = new TextTitle(subtitleText);
subtitle.setPaint(getChart().getSubtitleColor());
subtitle.setFont(fontUtil.getAwtFont(getFont(getChart().getSubtitleFont()), getLocale()));
subtitle.setPosition(titleEdge);
jfreeChart.addSubtitle(subtitle);
}
// Apply all of the legend formatting options
LegendTitle legend = jfreeChart.getLegend();
if (legend != null)
{
legend.setItemPaint(getChart().getLegendColor());
if (getChart().getOwnLegendBackgroundColor() == null)// in a way, legend backcolor inheritance from chart is useless
{
legend.setBackgroundPaint(null);
}
else
{
legend.setBackgroundPaint(getChart().getLegendBackgroundColor());
}
legend.setItemFont(fontUtil.getAwtFont(getFont(getChart().getLegendFont()), getLocale()));
legend.setPosition(getEdge(getChart().getLegendPositionValue(), RectangleEdge.BOTTOM));
}
configurePlot(jfreeChart.getPlot());
}
示例14: JFreeChart
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
/**
* Creates a new chart with the given title and plot. The
* <code>createLegend</code> argument specifies whether or not a legend
* should be added to the chart.
* <br><br>
* Note that the {@link ChartFactory} class contains a range
* of static methods that will return ready-made charts, and often this
* is a more convenient way to create charts than using this constructor.
*
* @param title the chart title (<code>null</code> permitted).
* @param titleFont the font for displaying the chart title
* (<code>null</code> permitted).
* @param plot controller of the visual representation of the data
* (<code>null</code> not permitted).
* @param createLegend a flag indicating whether or not a legend should
* be created for the chart.
*/
public JFreeChart(String title, Font titleFont, Plot plot,
boolean createLegend) {
if (plot == null) {
throw new NullPointerException("Null 'plot' argument.");
}
// create storage for listeners...
this.progressListeners = new EventListenerList();
this.changeListeners = new EventListenerList();
this.notify = true; // default is to notify listeners when the
// chart changes
this.renderingHints = new RenderingHints(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
this.borderVisible = false;
this.borderStroke = new BasicStroke(1.0f);
this.borderPaint = Color.black;
this.padding = RectangleInsets.ZERO_INSETS;
this.plot = plot;
plot.addChangeListener(this);
this.subtitles = new ArrayList();
// create a legend, if requested...
if (createLegend) {
LegendTitle legend = new LegendTitle(this.plot);
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
legend.setFrame(new LineBorder());
legend.setBackgroundPaint(Color.white);
legend.setPosition(RectangleEdge.BOTTOM);
this.subtitles.add(legend);
legend.addChangeListener(this);
}
// add the chart title, if one has been specified...
if (title != null) {
if (titleFont == null) {
titleFont = DEFAULT_TITLE_FONT;
}
this.title = new TextTitle(title, titleFont);
this.title.addChangeListener(this);
}
this.backgroundPaint = DEFAULT_BACKGROUND_PAINT;
this.backgroundImage = DEFAULT_BACKGROUND_IMAGE;
this.backgroundImageAlignment = DEFAULT_BACKGROUND_IMAGE_ALIGNMENT;
this.backgroundImageAlpha = DEFAULT_BACKGROUND_IMAGE_ALPHA;
}
示例15: setLegend
import org.jfree.chart.title.LegendTitle; //导入方法依赖的package包/类
private void setLegend(JFreeChart chart, boolean bShowLegend, Font font, Color foregroundColor, Color backgroundColor, cfCHARTLEGENDData legendData) throws cfmRunTimeException {
LegendTitle legend = new LegendTitle(chart.getPlot());
legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
// If a CFCHARTLEGEND tag was used then use it's attributes to configure the
// legend
if (legendData != null) {
// A CFCHARTLEGEND tag is present so use its attributes to configure the
// legend
legend.setItemFont(getFont(legendData.getFont(), legendData.getFontBold(), legendData.getFontItalic(), legendData.getFontSize()));
legend.setItemPaint(convertStringToColor(legendData.getLabelColor()));
legend.setBackgroundPaint(convertStringToColor(legendData.getBackgroundColor()));
String pos = legendData.getPosition();
if (pos.equals("top"))
legend.setPosition(RectangleEdge.TOP);
else if (pos.equals("bottom"))
legend.setPosition(RectangleEdge.BOTTOM);
else if (pos.equals("left"))
legend.setPosition(RectangleEdge.LEFT);
else if (pos.equals("right"))
legend.setPosition(RectangleEdge.RIGHT);
if (!legendData.getShowBorder())
legend.setBorder(BlockBorder.NONE);
else
legend.setBorder(new BlockBorder());
} else {
// A CFCHARTLEGEND tag is NOT present so use the attributes from the
// CFCHART tag to configure the legend
if (!bShowLegend)
return;
legend.setItemFont(font);
legend.setItemPaint(foregroundColor);
legend.setBackgroundPaint(backgroundColor);
// By default CFMX 7 places the legend at the top with no border
legend.setPosition(RectangleEdge.TOP);
legend.setBorder(BlockBorder.NONE);
}
// Add the legend to the chart
chart.addSubtitle(legend);
}