Local and anonymous classes inside GUI constructor
One local class and the three anonymous classes are defined inside the
constructor for the GUI class.
(Local classes and anonymous classes are defined inside code blocks,
which often place them inside methods and constructors. You can also place
them inside static initializer blocks and instance initializers.)