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 :

la difference entre les deux code


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 54
    Points
    54
    Par défaut la difference entre les deux code
    J’ai un autre problème pour les gens qui aiment les problèmes lol
    Je veux réaliser un programme qui affiche une fenêtre avec un bouton qui affiche un message lorsque je clic sur lui. J’ai écrit deux type de code un avec un constricteur et l’autre sans constricteur
    Premier code :
    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.event.*;
     
    public class MaFenetre extends JFrame implements ActionListener {
     
    	JButton MyButton=new JButton();
     
    	MaFenetre() {
    		this.setTitle("une fenetre");
    		this.setSize(400,400);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		JPanel panneau = new JPanel();
     
    		FlowLayout disposition=new FlowLayout();
    		panneau.setLayout(disposition);
     
     
    		MyButton.addActionListener(this);//déclaration ce boutoon comme source d'événements au source d'ecouteur Ma fenetre
    		this.add(MyButton);
     
    	}
    		public void actionPerformed(ActionEvent evt){   //lorsque une clique de la sourrie se produit ce method se execute
    			Object source = evt.getSource();
    			if(source==MyButton){
    				System.out.println("une clic se produit");
    			}
    			repaint();
    		}
     
     
    	public static void main(String Arg[]){
     
    		MaFenetre fenetre=new MaFenetre();
    		fenetre.show();
     
    	}
    }
    Deuxième code :

    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
    54
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import java.awt.event.*;
     
    public class fenetre1 implements ActionLestener {
     
     
    	public static  void main (String arg[]){
     
    	JPanel panneau=new  JPanel();
     
    	FlowLayout disposition = new FlowLayout();
     
    	panneau.setLayout(disposition);
    	JButton MyButton = new JButton();
    			JTextField txt1=new JTextField();
     
    	MyButton.setText("OK");
    	MyButton.setSize(20,20);
     
    	MyButton.addActionListener(fenetre1);
     
     
    	txt1.setText("salut tout le monde");
    	txt1.setSize(50,20);
     
    	panneau.add(MyButton);
    	panneau.add(txt1);
     
     
    	JFrame MaFenetre =new JFrame("ma fenetre");
    	MaFenetre.setSize(400,400);
     
    			public void actionPerformed(ActionEvent evt){
    		Object source = evt.getSource(); 
    		if ( source== MyButton)
    		{
    			txt1.setText("une clic se produit");
    		}
     
    		repaint();
    	}
     
     
    	MaFenetre.setContentPane(panneau);
     
    	MaFenetre.setVisible(true)	;	
     
    	}
     
     
     
    }

    Le problème c’est que le premier code ça marche mais le deuxième code ne marche pas je veutx savoir pourquoi

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Points : 267
    Points
    267
    Par défaut
    Salut,

    Alors dans ton second code tu ajoute un listener qui n'existe pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyButton.addActionListener(fenetre1);
    fenetre1 est le nom de ta classe, tu ne peux pas passer une classe en argument de cette fonction. De plus ta classe implémente : ActionLestener

    Soit tu définie une classe anonyme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MyButton.addActionListener(new ActionListener() {
        public void actionPerformed (ActionEvent e) {
            // ton traitement
        }
    };
    Voilà ce que j'ai vu, a+

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par infoelectronique Voir le message
    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
    54
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    
    public class fenetre1 implements ActionLestener { // compilera pas
    	
    	
    	public static  void main (String arg[]){
    		
    	JPanel panneau=new  JPanel();
    	
    	FlowLayout disposition = new FlowLayout();
    	
    	panneau.setLayout(disposition);
    	JButton MyButton = new JButton();
    			JTextField txt1=new JTextField();
    
    	MyButton.setText("OK");
    	MyButton.setSize(20,20);
    	
    	MyButton.addActionListener(fenetre1);
    	
    
    	txt1.setText("salut tout le monde");
    	txt1.setSize(50,20);
    	
    	panneau.add(MyButton);
    	panneau.add(txt1);
    	
    	
    	JFrame MaFenetre =new JFrame("ma fenetre");
    	MaFenetre.setSize(400,400);
    	
    			public void actionPerformed(ActionEvent evt){ // compilera pas
    		Object source = evt.getSource(); 
    		if ( source== MyButton)
    		{
    			txt1.setText("une clic se produit");
    		}
    		
    		repaint();// compilera pas
    	}
    
    	
    	MaFenetre.setContentPane(panneau);
    	
    	MaFenetre.setVisible(true)	;	
    		
    	}
    	
    
    	
    }

    Le problème c’est que le premier code ça marche mais le deuxième code ne marche pas je veutx savoir pourquoi
    Au fait, "ne marche pas" c'est pas très précis (messages d'erreur, comportement, stacktraces, etc)

Discussions similaires

  1. la difference entre les aretes de deux graphes
    Par mohsenuss91 dans le forum C++
    Réponses: 1
    Dernier message: 22/05/2015, 11h02
  2. Réponses: 3
    Dernier message: 21/02/2010, 01h24
  3. [XQUERY][Xpath] Differences entre les deux langages
    Par clouddd dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 24/11/2009, 16h00
  4. [visual C++/Matlab] communication entre les deux
    Par Bilouzzz dans le forum MFC
    Réponses: 2
    Dernier message: 15/10/2005, 05h05
  5. difference entre les edi
    Par Trust_ dans le forum Débats sur le développement - Le Best Of
    Réponses: 44
    Dernier message: 02/06/2004, 19h18

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