Estendere JLabel è semplice come estendere un qualsiasi classe (non final) in java. Il problema è cosa vuoi aggiungerci? JLabel consente GIA' di visualizzare icone e in definitiva di avere un comportamento piuttosto sofisticato, per esempio di visualizzare icone e testo che fa accapo come un testo html. Lo dico perché aggiungere features ad un componente richiede di conoscerlo molto "intimamente" :-) e molto spesso si scopre che le features le ha già. I componenti swing poi sono, per come è progettata la piattaforma, molto potenti ma estremamente compelssi, il che significa, duro lavoro per comprenderne la (raffinata ma estremamente articolata) logica di funzionamento. La cosa può essere scoraggiante in molti casi. Tieni conto che ora c'è una alternativa estremamente interessante: JavaFX. I componenti sono molto più semplici, ma se vogliamo ancora più potenti. Per darti un'idea, gestisce nativamente le animazioni, gli effetti e il 3d. Se uno deve "acquisire" una tecnologia, vale la pena di valutare JavaFX. E' il figlio "non dichiarato" di swing.