2013-08-11 2 views
1

Я создаю диаграмму в сервлете, и он отлично работает.JFreeChart фоновое изображение не отображается

chart = ChartFactory.createPieChart("Smart Chart", ds, true, true, 
       true); 
     PiePlot plot = (PiePlot) chart.getPlot(); 
     ImageIcon icon = new ImageIcon(bgImageStr); 

     plot.setBackgroundPaint(Color.CYAN); 
     plot.setBackgroundAlpha(0.15f); 

     chart.setBackgroundPaint(Color.WHITE); 
     chart.getTitle().setBackgroundPaint(Color.PINK); 
     chart.setBackgroundImage(icon.getImage()); 

Проблема в том, что фоновое изображение не отображается. Я пробовал сюжет и диаграмму bg, и все виды других вещей. Это должно быть просто, кто-нибудь видит, что не так? Я просто использую запись в PNG, чтобы выгрузить ее в браузер. Он отображается хорошо, со всеми изменениями цвета, просто без изображения.

+0

Знаете ли вы, что изображение существует, что ваш путь к файлу изображения верен? Кроме того, часто лучше использовать ресурсы, а не файлы. –

+0

'bgImageStr' должно быть именем файла, не так ли? – tbodt

+0

YbgImageStr - это имя файла, и оно существует (если я удаляю изображение в выходной поток вместо графика, изображение отображается в браузере) – mikeb

ответ

0

OK, OP здесь, я исправил его.

Я сам вызывал сервлет, и ему это не понравилось. Я использовал ресурс (как было предложено), и он отлично работал без бесконечной рекурсии (представьте, что).

0

apply try { Thread.sleep (100); } улов (InterruptedException IntExp) { // ваша реализация } перед тем chart.setBackgroundImage (icon.getImage());

Смежные вопросы