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 :

question sur getSource()


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut question sur getSource()
    Bonjour tous le monde,
    Pour expliquer ma question je l'illustrer par un exemple:
    En gros je veux pouvoir traiter (de façon differente) les boutons suivant et suivant1 dans la même nouvelle class, et pourquoi pas récupérer aussi ce qui est ecrit dans les JTextField .


    class Fenetre extends JFrame{
    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    class Main extends JFrame{
        public Main(){
    	JFrame fenetre=new JFrame("Projet Genie Logiciel");
     
    	fenetre.setSize(1280,800);
    	fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	fenetre.setVisible(true);
     
    	PanelPrincipal principal=new PanelPrincipal();
     
    	fenetre.setContentPane(principal);
        }
        public static void main(String [] arg){
    	javax.swing.SwingUtilities.invokeLater(new Runnable() {
    		public void run() {
    		    Main fen=new Main();
    		}
    	    });
     
        }
     
    }
    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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class PanelPrincipal extends JPanel{
        public PanelPrincipal(){
    	this.setBackground(Color.GREEN);
    	GridBagLayout layout=new GridBagLayout();
    	GridBagConstraints c=new GridBagConstraints();
    	this.setLayout(layout);
            c.fill=c.BOTH;
            debut.setLayout(new GridBagLayout());
    	GridBagConstraints e=new GridBagConstraints ();
     
     
    	nom_M=new JTextField();	
    	e.gridx=1;
    	e.gridy=0;
    	//nom_M.addActionListener(new );
    	nom_M.setPreferredSize(new Dimension(100,25));
    	debut.add(nom_M,e);
     
    	suivant=new JButton("suivant");
    	suivant.addActionListener(new Action());
    	e.gridx=2;
    	e.gridy=2;       
    	debut.add(suivant,e);
     
            suivant1=new JButton("suivant1");
    	suivant1.addActionListener(new Action());
    	e.gridx=3;
    	e.gridy=3;       
    	debut.add(suivant,e);	
     
    	this.add(debut,c);
     
        }
    }
    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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    public class Action implements ActionListener{
     
        public void actionPerformed(ActionEvent e){
    	if (e.getSource==suivant){
    	    JOptionPane.showMessageDialog(null,"apparaition d'un bouton");
    	}
           else if (e.getSource()==suivant1){
               JOptionPane.showMessageDialog(null,"apparaition d'un bouton1");
           }
        }

    En gros je veux pouvoir traiter (de façon differente) les boutons suivant et suivant1 dans la même nouvelle class, et pourquoi pas récupérer aussi ce qui est ecrit dans les JTextField .
    Parceque dans l'état actuel de mon code getSource ne marche pas, ce qui est normal.
    ps: j'ai grandement alléger mon code pour l'exemple ne faite pas attention au erreur.

    Merci d'avance

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il te suffit pour cela que ta classe implémentant ActionListener ait le référence des Boutons suivant et suivant1
    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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    public class Action implements ActionListener{
        private JButton suivant;
        private JButton suivant1;
        public Action (JButton suivant, JButton suivant1) {
            this.suivant=suivant;
            this.suivant1=suivant1;
        }
        public void actionPerformed(ActionEvent e){
        if (e.getSource==suivant){
            JOptionPane.showMessageDialog(null,"apparaition d'un bouton");
        }
           else if (e.getSource()==suivant1){
               JOptionPane.showMessageDialog(null,"apparaition d'un bouton1");
           }
        }
    Et d'utiliser le constructeur adapté dans la classe instanciant ton implémentation d'ActionListener

  3. #3
    Membre actif
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut
    Une grand merci, comme toujours ce forum donne des réponses précises, j'été quasiment arrivée au cour de cette nuit a ce que tu m'avait donnée.

    Merci

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

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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