Java, redifinition de fonction

Résolu/Fermé
corentin.93 Messages postés 1737 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 19 décembre 2015 - 26 août 2012 à 14:47
corentin.93 Messages postés 1737 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 19 décembre 2015 - 26 août 2012 à 15:24
Bonjour,

Dans une classe Texte extends JLabel, je souhaite redéfinir la fonction setBackground(Color c) de la sorte :

public void setBackground(Color c){
this.setBackground(c);
this.setOpaque(true);
}

Mais netbeans me signale une erreur à la 2ème ligne, car il reprend logiquement la fonction setBackground modifiée, sans parvenir à l'utiliser.

Et je voulais donc savoir s'il était possible d'utiliser l'ancienne version de setBg. tout en redéfinissant la fonction malgré tout.

Merci d'avance!

A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
26 août 2012 à 15:16
Oui, mais cela ne se fait pas avec this sinon tu vas faire une boucle infinie !
Il faut utiliser super, l'objet de la superclasse .

@Override
public void setBackground(Color c)
{
	super.setBackground(c);
	this.setOpaque(true);
}
0
corentin.93 Messages postés 1737 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 19 décembre 2015 250
26 août 2012 à 15:24
Oui, c'est ce que j'avais pu constater.

Merci de ton aide! :)
0