Flexgantt 타임 라인 노브 젝트 색상 변경
-
06-07-2019 - |
문제
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 패키지의 유연성에 깊은 인상을 받았습니다.
다른 팁