Ich habe mich da mal ein bisschen durch den Code geklickt 
Wo sind deine Kommentare? Zum Glück ist alles soweit sprechend benannt 
Aber im Ernst: ich glaube es wäre besser, wenn die Datenbank-Schicht mehr abstrahiert wird. So sind alle Zugriffe über zig Klassen verteilt und der gleiche Code wird immer wieder geschrieben (PreparedStatement ...). Sobald du auf die Idee kommst die DB zu ändern (und ich wüßte da schon das ein oder andere Scenario
) hast du ein Problem.
Darf ich fragen warum du Swing/AWT benutzt hast und nicht z.B. SWT oder JavaFX?
Gerade bei der GUI sehe ich noch das Problem, dass die Logik fest verdrahtet ist. Ich würde mich z.B. über ein Web-Interface freuen (Einsatz auf einem headless Raspberry PI).
So, genug gemeckert
jetzt etwas Lob: der Code ist gut strukturiert und, von den Kommentaren abgesehen, gut zu verstehen. Ich finde es gut, dass du das Projekt gestartet hast und so gute Arbeit ablieferst. Da wünschte ich mir, dass ich mir mehr Zeit nehmen könnte um dir zu helfen 
LG