iReport - Schriftfarbe je nach Inhalt ändern

patrick_lorenz

Grünschnabel
Hallo Leute,
hab mich hier im Forum mal angemeldet, da ich bei euch schon oft die Lösungen für diverse Probleme gefunden habe, für mein neues Problem hab ich aber leider nichts brauchbares finden können.

Jetzt aber zur Erklärung:
Mein Vater hat bis jetzt den Dienstplan für sein Restaurant immer mit der Handgeschrieben und dabei für jeden Mitarbeiter eine eigene Farbe verwendet um es übersichtlicher zu machen.

Jetzt hat er mir den Auftrag gegeben ein kleines Programm zu schreiben mit dem er das erledigen kann.

Keine große Sache eigentlich, bis auf das Drucken, da ich mich bis jetzt eigentlich noch so gut wie nie mit diesem Thema beschäftigt habe.

Zum Aufbau:
Für den Mitarbeiter hab ich eine einfache Klasse, die den Namen und seine Farbe speichert.
Und ausgedruckt wird einfach eine Tabelle (Mo-So) mit den jeweiligen Inhalten.

Einfach in schwarz-weiß ausdrucken hab ich bereits gemacht, nur hab ich keinen Plan wie es gehen soll dass je nach Zelleninhalt(Mitarbeitername) eine andere Farbe gesetzt wird.

Ich hoffe ihr könnt mir bei diesem Problem weiterhelfen.
 
moin und Willkommen im forum,

zu deiner Frage:

Du zeichnest eine Tabelle (Mo- So)

Wie setzt du die Namen der Mitarbeiter?

Ich würde Label verwenden und für jeden mitarbeiter ein neues Label erzeugen, dann kannst du über die Label Funktionen die farbe beeinflussen.

Java:
label.setForeground(Color.red);

Also beim setzen des Mitarbeiters in die Tabelle nicht nur den namen über geben sondern auch die farbe des labels setzen ;) Du must aber die farbe als Color objekt haben damit du es setzen kannst.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

es gibt da mehrere Möglichkeiten.
1. Du erstellst eine Swing-/AWT-Oberfläche, mit Labels etc. und druckst diese aus.
2. Du schreibst die Daten im HTML-Format in eine Datei und druckst die Tabelle dann via den Browser aus.
3. Du schreibst die Daten in eine PDF-Datei und druckst diese dann aus.

Ich würde sagen, dass die 3. Möglichkeit die beste Lösung ist, allerdings aus meiner Sicht auch etwas aufwendiger. Aber das musst du entscheiden.

Gruß

Fabio
 
Danke erst mal für eure Vorschläge

Also beim setzen des Mitarbeiters in die Tabelle nicht nur den namen über geben sondern auch die farbe des labels setzen Du must aber die farbe als Color objekt haben damit du es setzen kannst.

So wird ja aber nur im Programm selbst die Farbe geändert und nicht im Report oder täusch ich mich jetzt?

3. Du schreibst die Daten in eine PDF-Datei und druckst diese dann aus.

So geschieht es ja auch, nur dass die Namen im gespeicherten/gedruckten PDF schwarz-weiß sind und eben nicht in Farbe.

Ich hoffe ihr versteht was ich meine?
 
D.h. du erstellt momentan eine PDF-Datei, mit einer Tabelle, welche auch die Namen farbig beinhalten sollte. Allerdings wird dies nicht farbig dargestellt. Verstehe ich das richtig?
 
Ich nehme mal an, dass du mit der iText-Library arbeitest. Und wenn nicht, dann würde ich dir das empfehlen. Hier habe ich dazu eine gute Erklärung gefunden, die dir dabei weiterhelfen könnte.
 
Zurück