Penso che una soluzione più immediata sia quella di usare una JTable piuttosto che una JComboBox nella quale vedi solo uno degli articoli quando ce ne possono essere 200. Oppure puoi usare una JList se la JTable é troppo complicata.

Comunque JTable o JList che sia, ci metterei a fianco una bella lista di pulsanti, ognuno dei quali apre una dialog window, per l'aggiunta/rimozione di articoli e l'invio dell'ordine.

Per quanto riguarda la magia delle modifiche che appaiono dopo il segreto é che ogni modifica dell'interfaccia grafica va notificata. Il modo più spiccio é chiamare i metodi

invalidate()
validate()

ereditati da Container (quindi ce li ha qualunque JComponent) per ri-validare l'interfaccia grafica.
La massimizzazione della finestra é uno di quegli eventi che chiama automaticamente l'aggiornamento dell'interfaccia grafica (ovviamente) e quindi ecco spiegato il perche' del mistero.