IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Extension de la classe Font


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Extension de la classe Font
    Bonjour à toutes et à tous,

    Je dois faire une erreur énorme, mais je ne la vois pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import java.awt.Font;
     
    public class RichFont extends Font{
     
         public RichFont() {
        }
     
    }
    A la déclaration de "public RichFont", j'ai une erreur de compilation cannot find symbol : constructor Font()

    Si je fais la même chose avec un JPanel (avec l'import qui va bien) il n'y a pas d'erreur !!!

    A l'aide.

    Pierre

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Il n'y a tout simplement pas de constructeur implicite fournit avec la classe Font, alors qu'il y en a un pour la classe JPanel. Il faut que tu utilises l'un des deux existants. Voir le javadoc de la classe Font.

  3. #3
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Citation Envoyé par gifffftane
    ... Il faut que tu utilises l'un des deux existants.
    Mais je l'ai fait aussi, c'est à dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import java.awt.Font;
     
    public class RichFont extends Font{
     
        public RichFont(String name, int style, int size) {
        }
     
    }
    j'ai la même erreur !!!

    Ca doit être énorme ...

    Merci de votre aide.

    Pierre

  4. #4
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Commence ton constructeur par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    super(name,style,size);
    Ici le compilateur ne peut pas deviner dans quel ordre il va utiliser les arguments pour le constructeur de la classe mère

    A priori il n'est même pas capable d'appeler implicitement un autre constructeur que le constructeur vide.

  5. #5
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    A priori, je n'ai plus d'erreur à la compilation, j'appelle ma nouvelle classe et l'utilise en retour : c'est tout bon.

    Grand merci.

    Quelle explication donner à cela ? y a t-il de la littérature à ce sujet.

    Cordialement.

    Pierre

  6. #6
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Quelle explication donner à cela ?
    Ba c'est très simple, tu fais un constructeur sur une classe qui hérite d'une autre. Tu dois obligatoirement dans ton constructeur appeler un constructeur de la classe mère. Implicitement un constructeur vide sur la classe mère est appelé. Si la classe mère n'a pas de constructeur vide et que tu n'en appelles pas un autre tu as donc une erreur de compilation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une extension chrome google web font
    Par zerta dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 27/06/2013, 20h26
  2. Utilisation classe Font
    Par Yann_69 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 04/07/2012, 10h58
  3. [Débutant] Extension de la classe WebClient pour exposer le Timeout
    Par Invité dans le forum Contribuez
    Réponses: 8
    Dernier message: 09/05/2012, 23h39
  4. méthode d'extension d'une classe
    Par MatPhD dans le forum C#
    Réponses: 4
    Dernier message: 14/12/2010, 22h21
  5. La méthode isTransformed() de class Font
    Par seylistory dans le forum 2D
    Réponses: 2
    Dernier message: 04/03/2010, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo