2012-01-18 2 views
3

У меня есть диаграмма Ганта с 5 задачами. Каждая задача разделена на 3 подзадачи. Мне нужно определить другой цвет для каждой подзадачи, например. Подзадание 1: «голубой», подзадание2: «синий», подзадание3: «темно-синий». Я попытался привести некоторые примеры Google, но я не нашел полного рабочего примера. Благодарю.Как изменить цвет конкретной подзадачи в JFreeChart Gantt Chart?

Обновление # 1: Я использую IntervalCategoryDataset для набора данных.

IntervalCategoryDataset dataset = createDataset(data); 

final Task t = new Task("Resource " + i, date(time11), date(time14)); 
t.addSubtask(new Task("Resource " + i, date(time11), date(time12))); 
t.addSubtask(new Task("Resource " + i, date(time12), date(time13))); 
t.addSubtask(new Task("Resource " + i, date(time13), date(time14))); 

ответ

3

Вы можете переопределить метод getItemPaint() Отображатель, поскольку обсуждается here.

Приложение: В качестве диаграммы Гнатта используется GanttRenderer, вы бы сделали что-то подобное, чтобы увидеть существующие цвета. Просто верните выбранный цвет для данной строки и столбца.

plot.setRenderer(new MyRenderer()); 
... 
private static class MyRenderer extends GanttRenderer { 

    @Override 
    public Paint getItemPaint(int row, int col) { 
     System.out.println(row + " " + col + " " + super.getItemPaint(row, col)); 
     return super.getItemPaint(row, col); 
    } 
} 
+0

Я читаю эту тему, но я не понимаю, что такое полное решение. Мне нужен небольшой и ясный пример. –

+1

Я обновил ссылку и уточнил выше. – trashgod

+0

Я пробовал этот код. Но я не понимаю, где определены Цвета подзадач? Если я делаю только это, то все подзадачи по-прежнему имеют синий цвет. –

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