문제

Flexgantt Javax 스윙 패키지를 사용하고 있습니다.http://www.dlsc.com/) 일부 간트 차트를 표시합니다. 내가 가진 문제는 내가 자신의 클래스로 확장 한 기본 타임 라인 노브 ject의 색상을 변경하는 방법을 알 수 없다는 것입니다. 실제로, 내가 바꿀 수있는 유일한 색상은 Gantt 행의 배경색을위한 것입니다.

도움이 되었습니까?

해결책 2

그래서 나는 이것을 알아낼 수있었습니다. Flexgantt가 사용하는 모델-컨트롤러 패턴을 실제로 이해하지 못했기 때문에 그것은 복잡하거나 적어도 나에게 그랬습니다. 그래서 여기 우리가가는 곳이 있습니다. DefaultTimeLelineObjectrenderer를 확장하는 TimeLineObjectrenderer 클래스가 필요합니다. 해당 렌더러에는 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 패키지의 유연성에 깊은 인상을 받았습니다.

다른 팁

이 질문을 Flexgantt 뉴스 그룹에 게시해야합니다. http://groups.google.com/group/flexgantt

문안 인사,

Dirk (Flexgantt 저자)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top