Der Programmierer, der das Diagramm erstellt, stellt die WIDTH je nach Wichtigkeit des Diagramms und dem Gesamtlayout der Seite entsprechend ein. Die Diagrammelemente passen ihre Größe automatisch korrekt an, um Änderungen in der Diagrammbreite Rechnung zu tragen.
Die Breite der Header- und Rahmenbereiche sowie der längste Diagrammbalken werden mit WIDTH kalkuliert. Dadurch wird gewährleistet, dass keines der Grafikelemente breiter ist als das Diagramm und dadurch über die rechte Seite des Bildes hinausgeht.
Die Anzahl der Datensätze bestimmt die HEIGHT des Diagramms. Um den anzuzeigenden Werten Platz zu machen, wird das Diagramm immer höher, je mehr Elemente den datavalues[]- und datanames[]-Arrays hinzugefügt werden.
Das maximum wird kalkuliert und für die Breite des längsten Balkens eingesetzt. Anschließend werden die Breiten der restlichen Balken proportional zum maximum errechnet:
Mit dem Datenwert maximum und der innerWIDTH des Diagrammbereiches stellt der obige Algorithmus sicher, dass die Balken entsprechend größer oder kleiner werden, wenn der Wert WIDTH geändert wird.
Anzeige des Diagrammhintergrunds
Um das Diagramm anzeigen zu können, muss zunächst ein Hintergrundbild erstellt und dann die Diagrammdaten hinzugefügt werden. Zuerst ist ein graphBG-Objekt zu erstellen und dann dessen draw()-Methode aufzurufen:
Die Parameter der draw()-Methode umfassen den Grafikinhalt, biContext, sowie WIDTH und HEIGHT, welche von der graphBG-Klasse zur Bestimmung der Breiten und Höhen der Header- und Diagrammbereiche benutzt werden. Schließlich wird der Datenwert average kalkuliert und an den im Header angezeigten Text angehängt.
Looping durch die Balken
Die y-Position jedes Balkens wird mit y_pos = i * displayHeight + headerOffset kalkuliert, wobei displayHeight die Summe aus der Höhe des Textes über dem Balken und der Höhe des Balkens selbst ist. headerOffset steht für den vertikalen Abstand vom oberen Rand des Diagramms, unter Berücksichtigung der Höhe des Headerbereiches und dessen Abstandschatten.
Die Balken und deren Rahmen wurden auf ähnliche Weise erstellt wie der Rahmen des Headers. Breite und Höhe der Balkenrahmen wurden um ein Pixel verringert, damit es aussieht, als habe jeder Balken einen roten Rahmen, und um den Ausschnitteffekt zu erzeugen, der durch den auf dem weißen Hintergrund des Diagramms gezeichneten weißen Innenrahmen der Balken unterstützt wird.
Neueste Kommentare
Noch keine Kommentare zu Wiederverwendbaren Diagrammhintergrund in JSP erstellen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.