E' leggermente diverso, in quanto un pulsante scatena un evento ActionEvent, mentre un componente "passivo", quale puo' essere una Label non scatena eventi semantici, quindi devi intercettare gli eventi del mouse. A parte questo, pero', il comportamento e' analogo.
Giusto per completezza: la differenza tra un evento semantico (ad esempio ActionEvent) e un evento "grezzo" (come puo' essere un MouseEvent o un WindowEvent) sta nel fatto l'evento semantico deriva dal comportamento specifico di un componente in risposta ad un evento grezzo. Per cui un JButton quando intercetta un click del mouse, o la pressione da tastiera del tasto corrispondente al proprio codice mnemonico (se mai ce n'e' uno), risponde scatenando un ActionEvent, cosi' che il programmatore debba scrivere un controllo solo per il suo comportamento.