Příklad - událost zavření okna

Proč vůbec pomocí vnitřní třídy?

výhody

vnitřní třída má přístup k (i chráněným) prvkům mateřské třídy!

nevýhody

poněkud nepřehledné, třída je skryta v ostatním kódu

navíc: pokud si speciálně nepamatujeme odkaz na jednou vytvořený a zapojený posluchač, pak jej nelze z paměti odstranit - nemáme na něj odkaz

V následujícím úryvku kodu se:

okno.addWindowListener(
    new WindowListener() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    }
);

...vytvoří jedna instance anonymní vnitřní třídy a ta se předá/použije jako posluchač událostí.