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

Graphisme Java Discussion :

Créer un bouton avec une taille fixe


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut Créer un bouton avec une taille fixe
    Bonsoir,

    Merci pour les tuto hyper pratique qui font que je suis a mon 4eme post en quelques années...
    enfin quand meme cette fois ci, je suis en galere : voila le probleme :

    Je voudrais faire ma propre classe MyButton qui hérite de JButton et qui prenne en parametre une image (prenons toto.jpg) et une taille (50)

    je voudrais que :
    - l'image fasse 50 * 50 --> c'est bon
    - quelle soit affichée sur le button --> c'est bon
    - que le button fasse 50 * 50 (ou 50 + taille bordure)--> galere

    - pour l'image redimentionnée, je me base sur un bout de code recuperer sur la FAQ (scale) --> pas de prob
    - pour l'image affichee sur un bouton, j'utilise aussi un autre bout de code de la meme FAQ (paintComponent sur lequel je fais un graphics.drawimage) --> pas de prob
    - pour le button avec une taille fixe, le this.setSize(width, height) fait la tete (et a l'affichage getSize() vaut 0, mais si j'ai bien compris, c'est parce qu'il n'est pas encore affiché)


    Merci pour votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    Essaie

    button.setMargin(new Insets(0, 0, 0, 0));
    et:
    button.setBorderPainted(false);

    Si l'image fait la bonne taille ça devrait aller

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut
    the-gtm :
    1 - merci de ton aide
    2 - ca ne marche pas
    3 - mais ca m'a inspiré , il suffisait de rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     setBound(posX, posY, largeur, hauteur);
    4 - est-ce que je peux un peu dévier de sujet parcequ'en fait des fois (oui, oui, des fois) il ne m'affiche pas l'image tant que je ne passe pas dessus...

    bon alors deja nous vous ennervez pas, j'ai lu la FAQ de ce truc la et notamment le fait que lorsque qu'on dessine, il faut tout redefinir, alors voila ce que j'ai :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    class MyButton extends JButton
    {
        // attributs
        private int taille;
        private int x = 0;
        private int y = 0;
        private String pathImg;
        private Toolkit toolkit = Toolkit.getDefaultToolkit();
     
     
        // constructeur --> initialise juste les attributs du dessus
        MyButton( int x, int y, int taille, String pathImg )
        {
        	this.x = x;
        	this.y = y;
    	this.taille = taille;
    	this.pathImg = pathImg;
        } // fin constructeur
     
     
     
     
        // dessinateur
        public void paintComponent(Graphics g)
        {
    	Image i = redimentionner(toolkit.getImage(pathImg), taille);
    	setBounds(x, y, taille, taille);	
    	g.drawImage(i, 0, 0, null);
        } // fin paintComponent
     
     
     
     
        // code du scale 'franciser' sur la FAQ... pas inportant
        public static Image redimentionner( Image imageSrc, int widthHeight )
        {
               BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
     
    	    Graphics2D g = bufferedImage.createGraphics();
    	    g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    	    g.drawImage(imageSrc, 0, 0, width, height, null);
    	    g.dispose();
    	    return bufferedImage;
        }
    } // fin class
     
    /*
    puis un main avec une frame.add(new MyButton(0, 0, 30, "C://personne.jpg"))
    enfin, a pu pres...
    */

    bref, est-ce que je dois redéfinir d'autres méthodes à part paintComponent ?

    ensuite, j'ai été intéréssé par le DoubleBufferingSoftware : DoubleBufferingSoftware

    mais j'ai vu que sur mon bouton, je pouvais faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDoubleBuffered(true);
    est ce que c'est equivalent ?
    je dois le faire a quel moment ?

    ouais ben quand je fais le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDoubleBuffered(true);
    a tous les coups les images ne s'affichent pas, il faut que je passe dessus.

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut
    il y aurait pas une ame charitable pour m'aider ?
    s....v....p...

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    Ok, je comprend pourquoi ça marche pas, utilise une icone (ImageIcon) et setIcon plutot que de surcharger paintComponent, c'est fait pour ça !

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 111
    Par défaut
    1) j'ai lu ca sur la faq....

    2) setImageIcon c'est ce que j'ai fait au debut, il ne permet pas de mettre le boutton a la taille pile poil de mon image...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/09/2010, 00h02
  2. Créer un div avec une taille definie
    Par sorceleur dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 24/08/2009, 10h59
  3. [GD] Redimensionner une image avec une taille fixe
    Par Aspic dans le forum Bibliothèques et frameworks
    Réponses: 29
    Dernier message: 20/07/2008, 14h57
  4. Comment ouvrir une fentre avec une taille fixe en javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/07/2007, 16h54

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