Frage

Ich bin mit dem FlexGantt Javax Swing-Paket ( http://www.dlsc.com/ ) einige Gantt-Diagramme angezeigt werden soll. Das Problem das ich habe ist, dass ich nicht herausfinden, wie die Farbe eines DefaultTimelineObject zu ändern, die ich in meine eigene Klasse erweitert habe. Eigentlich über die einzigen Farben, die ich scheinen in der Lage zu ändern, sind diejenigen, die für die Hintergrundfarben der Gantt-Reihen sind.

War es hilfreich?

Lösung 2

So habe ich es schaffe, das herauszufinden. Es ist eine Art kompliziert, oder zumindest war es mir, als ich nicht wirklich (und immer noch nicht ganz) verstehen verwendet, um das Model-View-Controller-Muster von FlexGantt. So, hier ist, wohin wir gehen. Wir brauchen eine TimelineObjectRenderer Klasse, die die DefaultTimelineObjectRenderer erstreckt. Das Renderer verfügt über eine Methode, die eine Komponente zurückgibt, genannt getTimelineObjectRendererComponent. Bei diesem Verfahren benötigt, um die I und Methoden setActivityFillColor1 setActivityFillColor2, nennen, die die zwei Farben verwendet, um die vertikale Mischung auf einem Element zu erstellen.

Der wichtige Code ist hier:

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

Das ist der erste Teil.

Der nächste Teil ist, wo wir, dass Renderer mit dem GanttChart Objekt verbinden sich, und das Diagramm sagen, wo die Renderer für jedes Element benötigt finden.

Die beiden Linien ich dafür verwendet werden, sind wie folgt:

GanttChart gc = new GanttChart();
gc.getLayerContainer().setTimelineObjectRenderer(
          new myTimelineObject().getClass(),new myTimelineObjectRenderer());

Also, ich habe es schließlich, machte es Arbeit, und ich bin sehr beeindruckt von der Flexibilität des FlexGantt Pakets.

Andere Tipps

sollten Sie buchen diese Frage in der FlexGantt Newsgroup unter http://groups.google.com/group / FlexGantt

Grüße,

Dirk (FlexGantt Autor)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top