Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JFreeChart中设置系列线条样式和图例大小_Java_Jfreechart - Fatal编程技术网

Java 在JFreeChart中设置系列线条样式和图例大小

Java 在JFreeChart中设置系列线条样式和图例大小,java,jfreechart,Java,Jfreechart,我正在尝试从修改图例侦听器,以使序列线样式更厚,并在单击特定图例时使图例大小更大 但我无法实现以下目标: plot.getLegendItems().get(index).set... 在下面的示例中,将以下内容写入控制台:java.awt.Color[r=192,g=0,b=0]。为什么不改为java.awt.Color[r=10,g=10,b=225] 另外,如果我将plot.getLegendItems.getindex.getLabelFont写入控制台,那么它将返回null tic

我正在尝试从修改图例侦听器,以使序列线样式更厚,并在单击特定图例时使图例大小更大

但我无法实现以下目标:

plot.getLegendItems().get(index).set...
在下面的示例中,将以下内容写入控制台:java.awt.Color[r=192,g=0,b=0]。为什么不改为java.awt.Color[r=10,g=10,b=225]

另外,如果我将plot.getLegendItems.getindex.getLabelFont写入控制台,那么它将返回null

 ticPlot.addChartMouseListener(new ChartMouseListener() {
    @Override
    public void chartMouseClicked(ChartMouseEvent event) {
        ChartEntity entity = event.getEntity();
        if (entity instanceof LegendItemEntity) {
            LegendItemEntity itemEntity = (LegendItemEntity) entity;
            DataFile files[] = ticDataSets.keySet().toArray(new DataFile[0]);
            Arrays.sort(files, new SimpleSorter());
            int index = -1;
            for (int i = 0; i < files.length; i++) {
                if (files[i].getName().equals(itemEntity.getSeriesKey())) {
                    index = i;
                    break;
                }
            }

            //set the renderer to hide the series
            XYPlot plot = (XYPlot) ticPlot.getChart().getPlot();
            plot.getLegendItems().get(index).setLinePaint(new Color(10,10,255));
            plot.getLegendItems().get(index).setLabelFont(new Font("TimesRoman", Font.PLAIN, 40));
            System.out.println( plot.getLegendItems().get(index).getLinePaint());
            System.out.println(plot.getLegendItems().get(index).getLabelFont());
        }
    }
});
我发现以下方法可行

Wierd为什么plot.getLegendItems.getindex.set。。。不起作用

XYPlot plot = (XYPlot) ticPlot.getChart().getPlot();
final XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(index);
renderer.setBaseLegendTextFont(new Font("Helvetica", Font.BOLD, 11));
renderer.setSeriesStroke(0, new BasicStroke(4));'