FlexGantt TimelineObject изменение цвета - PullRequest
0 голосов
/ 10 марта 2009

Я использую пакет FlexGantt Javax Swing (http://www.dlsc.com/) для отображения некоторых диаграмм Ганта. Проблема в том, что я не могу понять, как изменить цвет объекта DefaultTimelineObject, который я ' Мы расширились до моего собственного класса. На самом деле, единственные цвета, которые я могу изменить, это те, которые предназначены для фоновых цветов строк Ганта.

Ответы [ 2 ]

0 голосов
/ 28 мая 2009

Так что мне удалось понять это. Это довольно сложно, или, по крайней мере, для меня, так как я не очень (и до сих пор не совсем) понимаю шаблон Model-View-Controller, используемый FlexGantt. Итак, вот куда мы идем. Нам нужен класс TimelineObjectRenderer, который расширяет DefaultTimelineObjectRenderer. У этого средства визуализации есть метод, который возвращает Компонент, называемый getTimelineObjectRendererComponent. В этом методе мне нужно было вызывать методы setActivityFillColor1 и setActivityFillColor2, которые представляют собой два цвета, используемые для создания вертикального наложения на элемент.

Важный код здесь:

public class myTimelineObjectRenderer extends DefaultTimelineObjectRenderer {
    public Component getTimelineObjectRendererComponent(
        setActivityFillColor1(new Color(r,g,b));
        setActivityFillColor2(new Color(r,g,b));
    }
} //there is other code in this class, not mentioned here

Это первая часть.

В следующей части мы связываем этот рендерер с самим объектом GanttChart и сообщаем диаграмме, где найти рендерер, необходимый для каждого элемента.

Две строки, которые я использовал для этого, следующие:

GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
          new myTimelineObject().getClass(),new myTimelineObjectRenderer());

Итак, в конце концов я попал туда, заставил его работать, и меня очень впечатлила гибкость пакета FlexGantt.

0 голосов
/ 10 марта 2009

Вы должны опубликовать этот вопрос в группе новостей FlexGantt на http://groups.google.com/group/flexgantt

С уважением,

Dirk (Автор FlexGantt)

...