FlexGantt TimelineObjectの色の変更
-
06-07-2019 - |
質問
FlexGantt Javax Swingパッケージ( http://www.dlsc.com/ を使用しています)ガントチャートを表示します。私が抱えている問題は、自分のクラスに拡張したDefaultTimelineObjectの色を変更する方法がわからないことです。実際、変更できると思われる色は、ガントの行の背景色のみです。
解決 2
だから、私はなんとかこれを理解しました。 FlexGanttで使用されるModel-View-Controllerパターンを実際には理解していなかったので(少なくともまだ理解していなかったので)、それはやや複雑です。それで、ここに行きます。 DefaultTimelineObjectRendererを拡張するTimelineObjectRendererクラスが必要です。そのレンダラーには、getTimelineObjectRendererComponentと呼ばれるコンポーネントを返すメソッドがあります。そのメソッドでは、メソッドsetActivityFillColor1およびsetActivityFillColor2を呼び出す必要がありました。これらは、アイテムに垂直ブレンドを作成するために使用される2色です。
重要なコードは次のとおりです。
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オブジェクト自体に接続し、各アイテムに必要なレンダラーを見つける場所をChartに指示する部分です。
そのために使用した2行は次のとおりです。
GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
new myTimelineObject().getClass(),new myTimelineObjectRenderer());
だから、私は最終的にそこに着き、それを機能させ、FlexGanttパッケージの柔軟性に非常に感銘を受けました。
他のヒント
http://groups.google.com/groupのFlexGanttニュースグループにこの質問を投稿してください。 / flexgantt
よろしく、
Dirk (FlexGantt作成者)