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

AWT/Swing Java Discussion :

Appliquer une couleur transparente lors du clic souris


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 198
    Points : 76
    Points
    76
    Par défaut Appliquer une couleur transparente lors du clic souris
    Bonjour,
    Les boutons en swing en une couleur bleu, j'aimerais modifier la couleur en une couleur transparente lors du click souris comme l'image ci-dessous:

    Quelqu'un peut me donner une idée comment le faire, merci d'avance.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Je suppose que la méthode setBackgroundColor(Color); présente dans JButton devrait faire cela.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 198
    Points : 76
    Points
    76
    Par défaut
    Merci pour votre réponse.
    Je l'ai essayé,c'est setBackground(Color).
    Et pour le code de la couleur comment le faire transparent?

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2006
    Messages : 81
    Points : 51
    Points
    51
    Par défaut
    Il n'y a pas de couleur transparente... Tu as 2 solutions :

    1. tu mets une icone à ton bouton, où tu mets un gif transparent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setIcon(new ImageIcon("image_transparente.gif"));
    2. tu gardes setBackgroundColor(Color) mais tu utilises comme background la couleur du conteneur du bouton

    La première est quand meme la plus facile à mettre en oeuvre

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    la transparence d'une couleur AWT/SWING se gère par son composant alpha.

    Par exemple, en utilisant le constructeur avec argument int, pour obtenir un rouge primaire transparent à 50% :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Color(Color.RED.getRed(),Color.RED.getGreen(),Color.RED.getBlue(),127);
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    IL faut aussi mettre setOpaque(false) pour que le canal alpha affecte quelque chose.

    Quoiqu'il en soit même ainsi des erreurs d'affichage dut a la transparence cumulative risquent d'apparaitre.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 198
    Points : 76
    Points
    76
    Par défaut
    Désolé pour le retard de réponse.
    j'ai essayé vos propositions mais j'ai pas réussi à le faire comme l'exemple ci-joint, j'ai pas obtenu l'effet voulu.
    merci pour votre collaboration.
    Images attachées Images attachées  

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par j_esti Voir le message
    Désolé pour le retard de réponse.
    j'ai essayé vos propositions mais j'ai pas réussi à le faire comme l'exemple ci-joint, j'ai pas obtenu l'effet voulu.
    merci pour votre collaboration.
    Cà n'a rien à voir avec ce que tu demandais : tu parlais de passer d'une couleur (bleue) à transparente sur clic !

    Ton exemple, c'est des boutons avec des images avec layer transparent. Pour faire ça, il faut que ton image soit du type avec layer transparent (un png ou un gif éventuellement) (il y a également la solution avec masque, mais on l'utilise plutôt pour les curseurs de souris en général) : il suffit d'utiliser cette image comme n'importe laquelle pour que la transparence soit prise en compte. Avec un png correctement fait (donc avec antialiassage transparent, tu pourras utiliser n'importe quel fond de couleur pour ton bouton et l'image s'affichera bien toujours avec une partie laissant le fond visible).

    Si tu as une image qui n'est pas avec layer transparent, il faudra la "convertir" (avec photoshop, ou gimp ; ou à la main, mais c'est plus difficile).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 198
    Points : 76
    Points
    76
    Par défaut
    Désolé si j'ai mal exprimé ma demande.
    merci pour votre réponse.

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

Discussions similaires

  1. jtable avec cellule modifiable lors du clic souris
    Par ASSOUMA2007 dans le forum Composants
    Réponses: 1
    Dernier message: 24/03/2007, 16h46
  2. Appliquer une couleur système à une cellule
    Par zappy bibicy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/08/2006, 17h34
  3. appliquer une couleur au passage souris sur grpe de cellules
    Par mathieu_r dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/01/2006, 14h20
  4. [100% GDI] DC avec une couleur transparente....
    Par cyber_N dans le forum MFC
    Réponses: 6
    Dernier message: 20/11/2005, 11h41

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