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 :

Utilisation de JLayeredPane


Sujet :

AWT/Swing Java

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

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Utilisation de JLayeredPane
    Salut
    Le truc c'est que je veux superposer plusieurs images les unes sur les autres.La méthode qui semble falloir utiliser est le JLayeredPane. J'ai regardé un peu partout pour savoir bien l'utilisé. Mais quand je fais mon code il m'affiche mes 2 images (que j'affiche lorsque je clique sur un bouton) mais l'une à côté de l'autre alors je vous demande ce qui ne vas pas
    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
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.imageio.*;
    import javax.swing.*;
    import java.util.*;
    import java.lang.*;
    import java.io.*;
     
    public class FenetreRPG extends JFrame {
     
    //...
    protected JLayeredPane P24;//c'est le contener qui reçoit les images
    protected JPanel P25;
     
    ImageIcon icon =new ImageIcon("image/test.jpg");
    ImageIcon icon1 =new ImageIcon("Image/test2.jpg");
    JLabel iconI=new JLabel(icon);
    JLabel iconI2=new JLabel(icon1);
     
    public FenetreRPG(){
    //...
    P24=new JLayeredPane();
    P25=new JPanel();
    //...
    P25.add(P24);
    tester.addActionListener(new TesterListener());
    }
    //...
     class TesterListener implements ActionListener{
        	public void actionPerformed(ActionEvent e){
        		if(e.getSource().equals(tester))
           		iconI.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());
           		iconI2.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());
           		P24.add(iconI,10,0);
           		P24.add(iconI2,0,0);
        		P24.revalidate();
     
        	}
        }
    //...
    }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 63
    Points
    63
    Par défaut
    tes add me paraissent bizarre

    essaye ça :

    P24.add(iconI,new Integer(0));
    P24.add(iconI2,new Integer(1));

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

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Non là il me met encore les 2 image côte à côte et si je clique encore sur le bouton il me met l'image qui as le plus grand nombre(Integer(1)) et retire l'autre.Et en plus il me met une grosse erreur
    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
     
    Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal component position
    	at java.awt.Container.addImpl(Unknown Source)
    	at javax.swing.JLayeredPane.addImpl(Unknown Source)
    	at java.awt.Container.add(Unknown Source)
    	at FenetreRPG$ReprendreListener.actionPerformed(FenetreRPG.java:795)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    P24.add(iconI,10,0);
    -->en fait j'avais mis 10 car je pensait que c'était pareil que new Integer(10) et 0 car vu que je travail sous eclipse on peu mettre un int en plus pour la position et si je met
    P24.add(iconI,new Integer(0),0);
    P24.add(iconI2,new Integer(1),1);
    et bien j'ai plus d'erreur mais les image sont encore cote à cote

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

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Bien apparement le probleme est difficile (ou alors sa parle à personne le JLayeredPane )
    Moi meme je comprend pas j'ai adapter l'exemple pour ce que je veux (voir message précedement) mais sa marche pas
    http://www-lium.univ-lemans.fr/~lehu.../tp3/Base.java

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

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    C'est bon j'ai trouvé.Pour ceux que sa pourrais intéresser (superposer 2 images sa peux être intéressant quand meme)
    il suffisait de mettre P24.show() à la place de P24.revalidate() , me demander pas pourquoi j'ai pas approfondie la question.

  6. #6
    Futur Membre du Club
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    4
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Moi je touche rien...

    Jtai fais un PM Aurel_ ...

    Je n'arrive déjà pas à afficher ce que tu dis... Quelqu'un aurait un code complet ? Pour que j'essaye de comprendre ?

    Merci

Discussions similaires

  1. Utilisation du JLayeredPane
    Par vinzzzz dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 04/11/2009, 14h16
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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