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

Agents de placement/Fenêtres Java Discussion :

[Boutons animés] Problèmes de superposition de layers


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut [Boutons animés] Problèmes de superposition de layers
    Bonjour,

    Je suis en train de travailler à la mise en place de boutons à la MAC OS. En gros le bouton est semi transparent et d'une certaine taille lorsqu'il est "au repos". Lorsque la souris passe dessus, il s'agrandit et devient plus opaque (cf. screenshot).
    Mon problème est le suivant. J'aimerais que le bouton dépasse du JPanel qui le contient - du moins graphiquement, et qu'il ne soit pas coupé comme sur la pièce jointe.
    Quelqu'un voit-il une astuce pour arriver à ce résultat ?

    Merci,
    Thomas
    Images attachées Images attachées  

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Utilises les GlassPane de ta JFrame. C'est une couche qui se trouve au dessus de toutes les autres. Tu peux y mettre n'importe quel JComponent.

    Tu y accèdes par les méthodes getGlasspane et setGlasspane de ta JFrame

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Je ne vois pas trop comment ça marche ... j'utilise un JPanel pour mettre mes boutons et j'aimerais que cette nouvelle "barre d'outil" soit un composant indépendant...
    Pourrais-tu me donner un petit exemple pour illustrer la façon dont tu vois l'utilisation du GlassPane ?

    Merci.
    T.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Je ne trouve vraiment pas de solution. Impossible de faire dépasser mes boutons de ma barre quand la souris passe au dessus.
    En fait le seul moyen que je vois ce serait :
    1. Spécifier que ma barre est entirement transparente
    2. Ajouter a cette barre completement transparente un JPanel semi-transparent, de hauteur inférieur a la barre
    3. Ajouter mes boutons DANS LA BARRE, mais AU DESSUS du JPanel

    Malheureusement, je n'arrive pas à trouver s'il est possible d'empiler les composants de cette manière.
    Si quelqu'un avait une idée, je suis réellement preneur.

    T.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Réellement personne ne voit une solution ?
    Là je ne sais vraiment plus quoi essayer...
    T.

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Ce serait bien de lire les messages de ceux qui te répondent. Le GlassPane est exactement la solution à ton problème ! Il suffit de cherche dans les tuto du site, ou de faire une recherche sur le net, ou encore de lire la doc, bien faite d'ailleurs, de Sun à ce sujet. Commence par la javadoc de JFrame.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Ce serait bien également de lire les messages de ceux qui postent. Je veux que ma barre d'outil soit un composant "indépendant". En gros, un JPanel personnalisé que je puisse réutiliser dans plusieurs applications si besoin est...

    Et je n'ai pas trouvé de GlassPane avec le JPanel. Quand à la JFrame, il n'est pas question qu'elle intervienne, car dans ce cas, mon composant n'est plus "autonome".

    Maintenant, si je me trompe, je m'en excuse. Mais dans ce cas, plutôt que de s'énerver, ce serait sympa de m'expliquer où je fais une erreur de raisonnement.

    T.

  8. #8
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par anaxa_gore Voir le message
    Ce serait bien également de lire les messages de ceux qui postent. Je veux que ma barre d'outil soit un composant "indépendant". En gros, un JPanel personnalisé que je puisse réutiliser dans plusieurs applications si besoin est...

    Et je n'ai pas trouvé de GlassPane avec le JPanel. Quand à la JFrame, il n'est pas question qu'elle intervienne, car dans ce cas, mon composant n'est plus "autonome".

    Maintenant, si je me trompe, je m'en excuse. Mais dans ce cas, plutôt que de s'énerver, ce serait sympa de m'expliquer où je fais une erreur de raisonnement.

    T.
    Pas d'inquiétude, je ne m'énerve pas
    Et je soutiens que le GlassPane est la solution à ton problème, tout en pensant que tu fais une erreur de raisonnement
    Je m'explique : le JPanel sera toujours affiché dans une JFrame. Donc le GlassPane sera toujours disponible.
    Pour une petite démo dans la javadoc, c'est ici
    Fait une recherche dans la page avec GlassPaneDemo.
    Maintenant, je peux moi aussi faire des erreurs, et si ce n'est définitivement pas ce que tu recherches, alors explique pourquoi et on verra se qu'on peut faire d'autre

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Je suis désolé...je dois être très bête ...
    J'avais déjà potassé cet exemple et la doc Java toute la journée d'hier (d'où mon échauffement...excuse moi). Là je regarde de nouveau... mais je ne vois pas en quoi le GlassPane peut m'être utile pour la réalisation de ma "barre MAC OS"...

    Peux-tu m'expliquer juste un tout petit peu l'idée que vous avez derrière la tête pour mettre ça en oeuvre (pas forcément du code, juste une petite explication en deux trois phrases, que je vois au moins dans quelle direction m'orienter...) ?

    T.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    En gros, quand je passe sur un bouton, il faut que je ré-affiche toute ma barre d'outil dans le GlassPane ?
    Parce que si je réaffiche simplement le bouton survolé, je n'aurais pas l'effet voulu (les autres boutons doivent reculer lorsque le bouton survolé s'agrandit)

    T.

  11. #11
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    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 faut juste que tu mettes dans ton glasspane un JPanel non-opaque (setOpaque(false) ) contenant tes JButton

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Alors finalement j'ai réussi, mais sans GlassPane...grâce au SpringLayout.

    l'empilement successif des couches est la suivante :
    • Ma barre d'outil (completement transparente)
    • Un JPanel semi-transparent, un peu moins grand que la barre d'outils elle meme
    • Un JPanel complètement transparent, contenant les boutons, de même taille que la barre

    Avec ça, je ne suis plus très loin de l'effet voulu. L'avantage du SpringLayout (que je ne connaissais pas), c'est qu'on peut empiler des containers de tailles différentes sur un même container initial (ici, ma barre d'outil).

    T.

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

Discussions similaires

  1. [CS5] problème flash boutons animé au survol
    Par floppy76 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 28/10/2012, 00h49
  2. Problème de superposition de boutons ajoutés dynamiquement
    Par Aenur56 dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 03/08/2012, 11h57
  3. [Traitement d'image] problème avec les boutons animés
    Par robmoto dans le forum Webdesign & Ergonomie
    Réponses: 9
    Dernier message: 17/08/2007, 13h36
  4. Jframe : Problème de "superposition" image de fond / bouton SUITE
    Par NicolasGuyomar dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/03/2007, 13h06
  5. Jframe : Problème de "superposition" image de fond / bouton
    Par lottie dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 15/03/2007, 08h35

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