JFreeChart Legend Display

На графиках временных рядов JFreeChart я нахожу линии легенд тонкими, чтобы точно видеть цвет. Еще один пост [jfreechart - изменить образец цветов в легенде ] suggested overriding a renderer method as follows:

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

этот подход работает нормально, пока вы не сделаете то, что я сделал

renderer.setSeriesShapesVisible(i, false);

Как только я это сделал, легенда возвращается к линии. Есть ли способ обойти это?

The solution I adopted is close to that suggested by TrashGod  Я переопределил метод getLegendItem (), перенеся форму легенды в нужное поле.

    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());
        }
    };

Ответы на вопрос(2)

Ваш ответ на вопрос