Pergunta

Eu estou usando o pacote balanço FlexGantt Javax ( http://www.dlsc.com/ ) para apresentar alguns gráficos de Gantt. O problema que estou tendo é que eu não consigo descobrir como alterar a cor de um DefaultTimelineObject que eu tenho estendido em minha própria classe. Na verdade, as únicas cores que parecem ser capazes de mudança são os que são para as cores das linhas de Gantt fundo.

Foi útil?

Solução 2

Então, eu consegui descobrir isso. É uma espécie de complicado, ou pelo menos era para mim, como eu realmente não (e ainda não completamente) entender o padrão MVC usado por FlexGantt. Então, aqui é onde nós vamos. Precisamos de uma classe TimelineObjectRenderer que estende a DefaultTimelineObjectRenderer. Esse processador tem um método que retorna um componente, chamado getTimelineObjectRendererComponent. Nesse método, eu precisava chamar os métodos setActivityFillColor1 e setActivityFillColor2, que são as duas cores usadas para criar a mistura vertical sobre um item.

O código importante está aqui:

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

Essa é a primeira parte.

A próxima parte é onde nós conectamos que Renderer com o próprio objeto GanttChart, e dizer ao Chart onde encontrar o Renderer necessário para cada item.

As duas linhas I utilizados para que são como se segue:

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

Então, eu cheguei lá, eventualmente, fez o trabalho, e estou muito impressionado com a flexibilidade do pacote FlexGantt.

Outras dicas

Você deve publicar esta questão no newsgroup FlexGantt em http://groups.google.com/group / flexgantt

Saudações,

Dirk (FlexGantt autor)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top