2009-03-10 3 views
0

Flex Gantt Javax Swing 패키지 (http://www.dlsc.com/)를 사용하여 일부 Gantt 차트를 표시하고 있습니다. 문제는 내가 내 자신의 클래스로 확장 한 DefaultTimelineObject의 색상을 변경하는 방법을 알 수 없다는 것입니다. 실제로 변경할 수있는 유일한 색상은 Gantt 행의 배경색을 나타내는 색상입니다.FlexGantt TimelineObject 색 변경

답변

0

그래서 내가 이것을 알아 내기 위해 관리 않았다. FlexGantt에서 사용하는 Model-View-Controller 패턴을 실제로 이해하지 못했지만 (아직까지는 아직 잘 이해하지 못했기 때문에) 다소 복잡하거나 적어도 저였습니다. 여기에 우리가가는 곳이 있습니다. DefaultTimelineObjectRenderer를 확장하는 TimelineObjectRenderer 클래스가 필요합니다. 이 렌더러에는 getTimelineObjectRendererComponent라는 Component를 반환하는 메서드가 있습니다. 이 메서드에서 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 패키지의 유연성을 매우 감명 :

내가 그 사용되는 두 줄은 다음과 같습니다.