Один из подходов - переопределить getItemPaint()
в вашем подклассе GanttRenderer
.Просто верните разные цвета для каждого column
.
Приложение:
Мне нужно нарисовать подзадачу в зависимости от выполненной задачи или нет, независимо от значения столбца.
Если я понимаю, вы бы вернули завершенный цвет, если этот столбец был заполнен;в противном случае верните незавершенный цвет.
Однако, пожалуйста, [вы] можете отправить фрагмент кода.
Этот пример должен помочь вам увидетьсвязь между строкой / столбцом и серией / элементом.
Кроме того, не могли бы вы дать мне знать, как печатать этикетки на подзадачах.
Потому что, GanttRenderer
- это IntervalBarRenderer
, я бы посмотрел на IntervalCategoryItemLabelGenerator .
Это на самом деле не работает.
Что не работает?Вы не разместили ни одного кода.Приведенный пример является модификацией стандарта BarChartDemo1
;это производит следующий вывод.Обратите особое внимание на то, как существует три серии (параметр row
), каждая из которых имеет пять значений (параметр col
).Реализация super
getItemPaint()
просто возвращает серии красок в цикле.Вы можете переопределить это поведение, чтобы выполнить все, что требуется вашему приложению.
0 0 java.awt.GradientPaint@7e1a9d1b
1 0 java.awt.GradientPaint@540984b
2 0 java.awt.GradientPaint@53ce669e
0 1 java.awt.GradientPaint@7e1a9d1b
1 1 java.awt.GradientPaint@540984b
2 1 java.awt.GradientPaint@53ce669e
0 2 java.awt.GradientPaint@7e1a9d1b
1 2 java.awt.GradientPaint@540984b
2 2 java.awt.GradientPaint@53ce669e
0 3 java.awt.GradientPaint@7e1a9d1b
1 3 java.awt.GradientPaint@540984b
2 3 java.awt.GradientPaint@53ce669e
0 4 java.awt.GradientPaint@7e1a9d1b
1 4 java.awt.GradientPaint@540984b
2 4 java.awt.GradientPaint@53ce669e