Il tuo setBackground() è un "override" di quello in java.awt.Component. Evitalo ... non farlo.Originariamente inviato da oronze
codice:public void setBackground(Color c){ System.out.println(container.toString()); }
E il motivo lo scopri benissimo dallo stack trace che hai postato. Quando invochi il costruttore del tuo Window, viene invocato il costruttore di JFrame, che per tua sfortuna invoca setBackground() per impostare un valore di default.
Ma viene eseguito il "tuo" setBackground e in quel momento il tuo campo 'container' è null!!