Pantalla de leyenda de JFreeChart

En mis gráficos de series de tiempo de JFreeChart, encuentro que las líneas de las leyendas se adelgazan para ver el color con precisión. Otro post [jfreechart - cambia muestra de colores en leyenda ] sugirió anular un método de renderizador de la siguiente manera:

renderer = new XYLineAndShapeRenderer()
{
    private static final long serialVersionUID = 1L;
    public Shape lookupLegendShape(int series)
    {
        return new Rectangle(15, 15);
    }
};

Este enfoque funciona bien hasta que haces lo que hice

renderer.setSeriesShapesVisible(i, false);

Una vez que hice eso, la leyenda vuelve a una línea. ¿Hay alguna manera de evitar esto?

La solución que adopté es cercana a la sugerida por TrashGod. Anulé el método getLegendItem (), forzando la forma de la leyenda al cuadro deseado.

    renderer = new XYLineAndShapeRenderer()
    {
        private static final long serialVersionUID = 1L;

        public LegendItem getLegendItem(int datasetIndex, int series)
        {
            LegendItem legend = super.getLegendItem(datasetIndex, series);
            return new LegendItem(legend.getLabel(), legend.getDescription(), legend.getToolTipText(), legend.getURLText(), Plot.DEFAULT_LEGEND_ITEM_BOX, legend.getFillPaint());
        }
    };

Respuestas a la pregunta(2)

Su respuesta a la pregunta