Java FlexGant TimelineObject颜色更改
我正在使用FlexGant Javax Swing包()来显示一些甘特图。我遇到的问题是,我不知道如何更改已扩展到自己类中的DefaultTimelineObject的颜色。实际上,我似乎唯一能更改的颜色是甘特图行的背景色。您应该在FlexGant新闻组的 问候, 德克Java FlexGant TimelineObject颜色更改,java,swing,gantt-chart,Java,Swing,Gantt Chart,我正在使用FlexGant Javax Swing包()来显示一些甘特图。我遇到的问题是,我不知道如何更改已扩展到自己类中的DefaultTimelineObject的颜色。实际上,我似乎唯一能更改的颜色是甘特图行的背景色。您应该在FlexGant新闻组的 问候, 德克 (FlexGantt作者)所以我确实设法解决了这个问题。这有点复杂,或者至少对我来说是这样,因为我没有真正(现在仍然不太)理解FlexGant使用的模型-视图-控制器模式。所以,这就是我们要去的地方。我们需要一个Timeline
(FlexGantt作者)所以我确实设法解决了这个问题。这有点复杂,或者至少对我来说是这样,因为我没有真正(现在仍然不太)理解FlexGant使用的模型-视图-控制器模式。所以,这就是我们要去的地方。我们需要一个TimelineObjectRenderer类来扩展DefaultTimelineObjectRenderer。该渲染器有一个返回组件的方法,名为GetTimeLineObjectRenderComponent。在该方法中,我需要调用方法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
这是第一部分
下一部分是将渲染器与GantChart对象本身连接起来,并告诉图表在哪里可以找到每个项目所需的渲染器
我使用的两行代码如下:
GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
new myTimelineObject().getClass(),new myTimelineObjectRenderer());
所以,我最终到达了那里,使它工作起来,并且对FlexGant软件包的灵活性印象深刻