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 :

Superposition de composants


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de vpourchet
    Homme Profil pro
    Integrateur Systemes & Virtualisation
    Inscrit en
    Avril 2008
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Integrateur Systemes & Virtualisation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 159
    Par défaut Superposition de composants
    Bonjour à tous !

    Voilà j'ai une question. En fait j'ai deux JPanels que j'aimerais superposer l'un sur l'autre. Disons que dans le premier j'ai une image et que j'aimerais superposer un autre dessus pour tracer sur ce Jpanel . donc mes questions sont les suivantes :

    -comment faire pour que le jpanel 'au dessus' soit transparent et qu premier plan ? pour l'instant quand je clique il ne prends pas en compte les actions définies dans mon mouse listener.

    cette action ne va pas engendrer des bugs au niveau de l'appli ?

    Cordialement,

    Valus

    <edit > le code du JPanel du 'dessus' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     JPanel test = new JPanel(null);
           test.setBounds(new Rectangle(300, 59, 600, 419));
           test.setVisible(true);
           test.setOpaque(false);
           this.getContentPane().add(test);
             test.addMouseListener(new MouseAdapter(){
               public void MousePressed(MouseEvent e){
                   System.out.println("Mouse pressed "+e.getX()+";"+e.getY());
               }
               public void MouseClicked(MouseEvent e){
                    System.out.println("Mouse pressed "+e.getX()+";"+e.getY());
               }
           });
           this.validate();
    mais quand je clique il se passe rien :s

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    Peut-être peux-tu utiliser un GlassPane qui est fait à la fois pour intercepter les évènements et tu peut aussi dessiner dessus.

  3. #3
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    JLayeredPane plutôt.

  4. #4
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Par défaut
    je ne suis pas sur mais creuse un peu du coté de la commande :

    SetXorMode

    elle permet de superposer deux elements graphiques

  5. #5
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Cette méthode ?
    http://java.sun.com/javase/6/docs/ap...java.awt.Color)

    Cela ne résoudra pas ton problème. Cela permet de dessiner dans un mode où Java va recalculer la couleur d'affichage de ton dessin en fonction de la couleur du background.

    Tu doit bien avoir quelque chose qui te permette de passer d'un panel a un autre comme un bouton par exemple. Cela permet à l'utilisateur de choisir ce qu'il veux voir (un des 2 panel).
    Lorsque l'utilisateur clic sur ce bouton (ou autre moyen a ta convenance) tu supprime tous les composant du Container, puis tu affiche le panel qui doit être visible. Tu n'a plus a gérer une superposition.

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

Discussions similaires

  1. [RowLayout] Superposition des composants
    Par Julien Bodin dans le forum SWT/JFace
    Réponses: 7
    Dernier message: 26/03/2009, 17h39
  2. [z-order] superposition de composants
    Par if_zen dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 04/01/2008, 17h32
  3. Superposition de composant pour faire une image
    Par spikto dans le forum Composants VCL
    Réponses: 14
    Dernier message: 31/12/2005, 15h18
  4. [info] Superposition de composant
    Par doudine dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 22/12/2005, 10h55
  5. [BorderLayout] superposition des composants.
    Par vasilov dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 08/07/2005, 11h51

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