diese Methode rufe ich im Speichern Button auf.
Nein, die rufst du nicht im Speichern-Button auf.
Du hast noch drei andere ActionListener. Ich unterstelle mal, dass jeder davon bei genau einer ComboBox als ActionListener hinzugefügt wurde. Dann wird jedes Mal, wenn bei einer ComboBox etwas ausgewählt wurde und die Bedingung zutrifft, minimum() aufgerufen.
minimum() fügt dann dem Speichern-Button eine neue Instanz des ActionListeners SpeichernAction hinzu, und zwar tut sie das jedesmal wenn sie aufgerufen wird und die Bedingungen zutreffen. Wenn dann der Speichern-Button betätigt wird, feuert jede der SpeichernAction-Instanzen.
Also angenommen in zwei ComboBoxen ist bereits je ein Element selektiert und du selektierst nun auch eins in der dritten. Dann wird minimum() erstmals einen SpeichernAction-ActionListener zum Speichern-Button hinzufügen. Ab jetzt passiert also überhaupt etwas, wenn man Speichern drückt.
Selektierst du dann in irgendeiner ComboBox ein anderes Element, so wird minimum() wieder einen SpeichernAction-ActionListener zum Speichern-Button hinzufügen. Nun gibt es also zwei und wenn man Speichern drückt, werden beide das tun, was dort eben programmiert ist - also vermutlich einen Satz in die DB schreiben. Mit jedem Auswählen eines ComboBox-Elements kommt dann ein weiterer Listener hinzu.
Kann es sein dass ich wie oben beschrieben bei Änderungen in den JComboboxen damit immer den Actionlistener aufrufe?
Ja, dessen actionPerformed-Methode wird jedes Mal vom Swing-Framework aufgerufen, wenn bei der zugehörigen Komponenten das entsprechende Ereignis eintritt. Für SpeichernAction passiert das beim Drücken des Speichern-Buttons und für die drei anderen beim Selektieren eines Elements in der zugehörigen ComboBox.