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

2D Java Discussion :

PaintComponent() ou setIcon()


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de akrom
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut PaintComponent() ou setIcon()
    Bonjour,
    J'ai des composants qui étendent JLabel,ces label doivent avoir une image de fond qui à la taille de mon composant et ces composant sont redimensionable.
    Ma question est : Vaut il mieux que je surchage la methode paintcomponent et redimensionner mon image a chaque fois que mon label est redessiné ou surveiller le redimenssionnement de mon label ,réajuster la taille de l'image et appeler la methode setIcon?
    Merci pour vos réponse.

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    en redéfinissant la méthode paintComponent(), c'est la seule chose que tu auras à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    private Image image;
    ...
    @Override
    protected void paintComponent(Graphics g) {
       Rectangle bounds = getBounds();
       Insets insets = getInsets();
       bounds.width -= insets.left + insets.right;
       bounds.height -= insets.top + insets.bottom;
       bounds.x += insets.left;
       bounds.y += insets.top;
     
       g.drawImage((image, bounds.x, bounds.y, bounds.width, bounds.height, getBackground(), null);
    );
    }

  3. #3
    Membre expérimenté Avatar de akrom
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    Ok ,merci pour la réponse. je pensais bien que redefinir paintComponent était plus performant mais je voulais en avoir la confirmation.

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

Discussions similaires

  1. [JPanel] paint, paintComponent et repaint ?
    Par Pill_S dans le forum Composants
    Réponses: 8
    Dernier message: 08/02/2013, 17h38
  2. pb avec seticon dans un bouton
    Par firejocker dans le forum MFC
    Réponses: 22
    Dernier message: 02/03/2006, 19h32
  3. [JLabel]fond transparent et probleme paintComponent
    Par ehmppowa dans le forum Composants
    Réponses: 28
    Dernier message: 05/12/2005, 15h39
  4. Réponses: 4
    Dernier message: 12/09/2005, 19h23
  5. [debutant][swing] pb dans un paintComponent
    Par tambourin dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 03/06/2004, 20h27

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