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 :

[debutant] rendu d'un bouton


Sujet :

Graphisme Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Points : 73
    Points
    73
    Par défaut [debutant] rendu d'un bouton
    bonjour,

    j'utilise le LookAndFell metal, par défaut dans java si j'ai bien compris, et mes boutons ont un super effect de dégradé qui leur donne du relief.
    Voila : j'aimerais changer la couleur de fond tout en gardant l'effet cool

    j'ai essayé setcolorbackground, mais du fait de la couleur unique et uniforme, on perd la sensation d'un bouton au profit d'un label, et l'application devient beaucoup moins intuive.

    Existe-t-il quelque chose pour y remedier ?

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Est-ce que ca a un rapport avec ce post ?
    http://www.developpez.net/forums/showthread.php?t=59694
    Il me semble qu'il y a un lien vers un truc qui pourrait t'intéresser...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Points : 73
    Points
    73
    Par défaut
    oui, c'est ca, merci !

    par contre, je n'ai pas compris comment on l'utilisait...

    on a une list, que je n'arrive même pas à compiler et on ne sait pas quoi en faire.
    Mes JButtons n'ont pas d'attribut gradient... à moins que je ne les ai loupé

    A chaque fois que j'aimerais faire un truc simple, faut sortir la grosse artillerie

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Non il n'en ont pas

    Il faut que tu redéfinisse la méthode paintComponent de ton JButton pour effectuer ces opérations de dessin.

    Grosso modo utilise la classe GradientPaint, fais un setPaint sur les graphics de ton JButton et un un fillRect avec tes Graphics et le tour est joué
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Points : 73
    Points
    73
    Par défaut
    merci pour ta réponse sinok, mais

    j'ai rien compris

    ( redéfinir la méthode, ca va, mais utiliser GradientPaint : Comment ? et le reste je nage )

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Voici un exemple simple, à toi de t'en inspirer:

    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
     
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.GradientPaint;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.UIManager;
     
     
    public class CoolButton extends JButton {
        public CoolButton(String text) {
            //redéfinir les constructeurs du bouton
            super(text);
            //très important sinon ton gradient ne sera pas affiché
            this.setContentAreaFilled(false);
            this.setForeground(Color.WHITE);
        }
     
        @Override
        public void paintComponent(Graphics g) {
     
     
            Graphics2D g2 = (Graphics2D) g.create();        
            //Crée le gradient du coin haut gauche du bouton vers son coin bas avec les couleurs noir et bleu droit
            GradientPaint gp = new GradientPaint(0, 0,
                    Color.black, getWidth(), getHeight(),
                    Color.BLUE);
            //On affecte le gradient en tant que paint du gradient (celà peut être aussi une simple couleur)
            g2.setPaint(gp);
            //On dessine un rectangle contenant le gradient sur les graphics du bouton
            g2.fillRect(0, 0, this.getWidth(), this.getHeight());
            //on repaint le composant
            super.paintComponent(g2);
        }
     
        public static void main(String[] args) {
            JFrame f = new JFrame();
            CoolButton b = new CoolButton("toto");
            b.setPreferredSize(new Dimension(400,200));
            f.add(b);
            f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            f.pack();
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        }
    }
    Pour plus d'infos direction la javadoc
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 149
    Points : 73
    Points
    73
    Par défaut
    merci beaucoup !

    grace à toi c'est !

    ils sont mieux comme ca, il n'y a pas à dire !

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

Discussions similaires

  1. [Javascript Debutant]Comment positionner des boutons sur une Image?
    Par bylka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2007, 13h07
  2. Modifier le rendu d'un bouton
    Par nox75 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/06/2007, 19h49
  3. [Debutant] evenement sur un bouton
    Par stpaul04 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 27/02/2007, 10h45
  4. [debutant] effet mémoire des boutons swing.
    Par Bighobbit dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 19/05/2006, 18h02
  5. [debutant] action sur un bouton
    Par EssaiEncore dans le forum ASP
    Réponses: 22
    Dernier message: 18/02/2005, 14h02

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