No, e' orrendo in entrmbi i casiP.S.2: Painter.this.repaint(); // brrr
non è più chiaro [this.]repaint(); ?basterebbe repaint();
Ma questo programma serve solo da esempio, a scopo didattico... quindi non mi pare il caso di soffermarsi su questi dettagli.