Also ich denke zum ersten muss man hier zwischen den beiden Problemen unterscheiden - wie an die Daten kommen und wie die Daten anzeigen.
Wichtig ist hierbei, dass du rausfindest, wie bzw wo es vermerkt ist, wer welche Schicht hat.
oder ob das nach einem gewissen Muster geht… Team A fängt mit N an, Team B mit F und Team C mit S und dann sich die Schichten immer in der Folge N -> F -> S abwechseln.
Falls es schon in einer Tabelle vermerkt ist, so musst du keine neue tabelle erstellen.
Falls es nach dem Muster läuft ebenso nicht, dann würde ich das im Programm ermitteln.
Das Tabellenmodel dürfte gar nicht mal so komplex sein (was noch alles daran hängt dann schon eher).
Ich weiss leider nicht wie man colspan in jtables erzeugt (also eine Zelle geht über mehrere Spalten).
Also um eine solche Tabelle zu haben brauchst du auf alle Fälle (mal als art brainstorming… ohne garantie)
- eine JTable
- ein TableModel
- ein DefaultTableCellRenderer
- controller klasse zum füllen
zu 1) die jtable - klar die fügt die einzelnen komponenten 2) und 3) zusammen - bestimmt größe der zellen, eventuelle MouseListener etc
zu 2) das ist abhängig von der jtable… ich würde ein einfache Klasse von DefaultTableModel erben lassen, das definiert, wieviele spalten und wieviele zeilen es gibt und wie die die Spaltenheader heissen… weiss nicht ob da noch viel mehr rein muss
zu 3) der muss schaun um welche spalte/zelle es sich handelt. je nach dem soll es dann grün/gelb/rot gezeichnet werden.
zu 4) hier ist dann der komplexe und entscheidende Teil. Der Controller liest z.b. aus der DB die Informationen, ordnet sie und bringt sie in eine passende Struktur. Danach läuft er über diese Informationen und füllt die Tabelle bzw. das Model.
mhm - weiss nicht wirklich ob das nun viel hiflt - das ganze ist meiner ansicht nach zu komplex, als dass man es in einem kurzen Forenbeitrag hier lösen könnte…
daher mein erster Vorschlag:
Schau wie du an die Daten rankommst, dass du alle hast die angezeigt werden sollen.
wenn das soweit ist, dann müssen wir uns eine geeignete Struktur für die daten überlegen.
dann kommt erst die Tabelle
Viel erfolg
dbc