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 :

[swing][GROS débutant] créer plusieurs fenêtres


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 48
    Par défaut [swing][GROS débutant] créer plusieurs fenêtres
    Bonjour,

    J'ai un petit problème de débutant ^^, je n'arrive pas à créer plusieurs fenêtres.

    j'ai écrit un petit programme qui devrait m'ouvrir une nouvelle fenêtre avec un message mais c'est pas concluant.

    Si vous pouviez m'éclairer.

    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
    50
    51
    52
    class Multi extends JFrame implements ActionListener
    {
     
    	JButton bouton = new JButton ("abracadabra");
    	JLabel message = new JLabel ("coucou");
     
    	public Multi()
    	{
    		super("test");
    		setSize(100,80);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		Container fene1 = getContentPane( );
    		BorderLayout flow1 = new BorderLayout( );
    		fene1.setLayout(flow1);
     
    		JPanel pan1 = new JPanel( );
    		pan1.add(bouton);
    		fene1.add(pan1,BorderLayout.NORTH);
     
    		setContentPane(fene1);
      		setVisible(true);
    	}
     
    	public void actionPerformed(ActionEvent evenement)
    	{
     
    		if ( evenement.getActionCommand()== "abracadabra")
    		{
    			JFrame fenetre2 = new JFrame("Alerte");
    			fenetre2.setSize(300,70);
    			Container fene2 = getContentPane( );
    			BorderLayout flow2 = new BorderLayout( );
    			fene2.setLayout(flow2);
     
    			JPanel pan2 = new JPanel();
    			pan2.add(message);
    			fene2.add(pan2,BorderLayout.NORTH);
     
    			fenetre2.setContentPane(fene2);
    			fenetre2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
    			fenetre2.setVisible(true); 
    		}
     
    	}
     
    	public static void main(String [] args)
    	{
    		Multi test = new Multi();
    	}
     
     
     }
    Mon code se compile et se lance mais lorsque j'appuie sur le bouton il ne se passe absolument rien.
    Je n'ai pas trouver dans la faq la partie traitant l'utilisation de plusieurs fenêtres et mes recherches sur le forum se sont révéler non fructueuses

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Bonjour,

    1. C'est normal, le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetre2.setVisible(false);
    ?

    2. Une JDialog est peut-être plus appropriée.

    Nicolas

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 48
    Par défaut
    1. non, mais ça ne change rien ^^'

    2. je ne connais pas, je vais regarder

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    J'ai regardé de plus près. Ton code me semble incohérent. Où le listener est-il associé au bouton ?

    Je vais travailler dessus de mon côté.

    Nicolas

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Il suffit de mettre un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("coucou");
    dans ton actionPerformed pour voir qu'il n'est jamais activé.
    Il faut relire le tutoriel Swing.
    Je t'envoie un code corrigé bientôt.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Ci-dessous une proposition. Ton problème est que tu n'avais pas associé l'actionPerformed au bouton. Je l'ai fait par une classe interne anonyme.

    Si ta 2ème fenêtre contient juste un message d'alerte, je te conseille de regarder du côté de JOptionPane.showMessageDialog (ou sinon JDialog), ce que je n'ai pas fait ci-dessous.

    Nicolas

    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
    50
    51
    52
    53
    // appeler le fichier : Multi.java
    // code de Aethis modifié par Nicolas_75 (pour l'actionPerformed)
    // http://www.developpez.net/forums/showthread.php?p=1126377#post1126377
    // 3 juillet 2006
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    class Multi extends JFrame {
     
        JButton bouton = new JButton("abracadabra");
        JLabel message = new JLabel("coucou");
     
        public Multi() {
            super("test");
            setSize(100,80);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Container fene1 = getContentPane( );
            BorderLayout flow1 = new BorderLayout( );
            fene1.setLayout(flow1);
     
            JPanel pan1 = new JPanel( );
     
            bouton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                    JFrame fenetre2 = new JFrame("Alerte");
                    fenetre2.setSize(300,70);
                    Container fene2 = getContentPane( );
                    BorderLayout flow2 = new BorderLayout( );
                    fene2.setLayout(flow2);
     
                    JPanel pan2 = new JPanel();
                    pan2.add(message);
                    fene2.add(pan2,BorderLayout.NORTH);
     
                    fenetre2.setContentPane(fene2);
                    fenetre2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
                    fenetre2.setVisible(true);
                }
            });
     
            pan1.add(bouton);
            fene1.add(pan1,BorderLayout.NORTH);
     
            setContentPane(fene1);
            setVisible(true);
        }
     
        public static void main(String [] args) {
            Multi test = new Multi();
        }
    }

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Par défaut
    Citation Envoyé par Aethis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Container fene2 = getContentPane( );
    Salut,
    je pense que ca serait plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Container fene2 = fenetre2.getContentPane( );
    sinon tu modifie le container de ta fenetre principale !
    enfin j'ai pas eu le temps de tester, donc je me suis ptet tromper !
    a+

    Gwen

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Je t'en prie.

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

Discussions similaires

  1. [Bonne pratique] [Débutant] créer plusieurs projet sous subversion
    Par PoichOU dans le forum Subversion
    Réponses: 11
    Dernier message: 23/04/2008, 15h06
  2. Réponses: 1
    Dernier message: 23/04/2007, 10h23
  3. [Débutant] Créer une fenêtre windows
    Par frizou11 dans le forum Visual C++
    Réponses: 7
    Dernier message: 13/02/2007, 16h47
  4. Réponses: 2
    Dernier message: 11/08/2006, 15h45
  5. [Débutant] Créer des belles fenêtres à la façon Linux ou Win
    Par wikers dans le forum x86 32-bits / 64-bits
    Réponses: 10
    Dernier message: 10/02/2005, 13h17

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