Résultats de 1 à 9 sur 9

Sujet : [Listener] fonction add.actionListener

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    204

    [Listener] fonction add.actionListener

    bon voila j\'ai un probleme.
    je veut mettre un Listener sur un bouton mais sa marche pas.

    voila le code:
    Code:
    /*Projet2.java*/
    
    package pack;
    
    import java.awt.*; 
    import java.awt.event.*; 
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*; 
    import javax.swing.table.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    
    public class Projet2 extends JFrame implements ActionListener{
    
        private JTable tableView;
        private TableModel dataModel;
        private JPanel pane;
        private MenuBar mbar; 
        private Menu menuPrinc1; 
        private MenuItem item1;
        private MenuItem item3;
        private GridBagLayout gBL;
        private GridBagConstraints gBC;
        private About aboutBox;
        private String Fichier;
        private JTextField status;
            
        // Constructeur
        public Projet2(){
            super(\"Projet\");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Toolkit k = Toolkit.getDefaultToolkit();
        	Dimension tailleEcran = k.getScreenSize();
        	int largeurEcran = tailleEcran.width;
       		int hauteurEcran = tailleEcran.height;
            
            // le panneau principal
            pane = new JPanel();
            
            // le Menu / sous menu / les items et leur listener 
            MenuBar mbar = new MenuBar();
            menuPrinc1 = new Menu(\"Fichier\");
            item1 = new MenuItem(\"Ouvrir\");
            item3 = new MenuItem(\"Quitter\"); 
            status = new JTextField(\"pas de fichier charger\");
            menuPrinc1.add(item1); 
            menuPrinc1.add(item3);
            mbar.add(menuPrinc1);
            item1.addActionListener(this);
            item3.addActionListener(this);
            pane.add(status);
            setMenuBar(mbar);
            
            // le gestionaire de mise en page
            gBL = new GridBagLayout();
            gBC = new GridBagConstraints();
            pane.setLayout(gBL);
            
            // volet de contenu
            setContentPane(pane);
        }
            
        // Gestion des contraintes d\'affichage pour le Gestionnaire de mise en page
        void buildConstraints(    GridBagConstraints m_GBC,
                                int m_gX						 /* ligne de la grille */,
                                int m_gY 						 /* colone de la grille */,
                                int m_gW 						 /* nombre de cellules par ligne */,
                                int m_gH   						 /* nombre de cellules par colone */,
                                int m_wX						 /* espacement horizontal */,
                                int m_wY						 /* espacement vertical */ ){
            m_GBC.gridx = m_gX;
            m_GBC.gridy = m_gY;
            m_GBC.gridwidth = m_gW;
            m_GBC.gridheight = m_gH;
            m_GBC.weightx = m_wX;
            m_GBC.weighty = m_wY;
        }
            
        // Gestion des evenements
        public void actionPerformed(ActionEvent e) {
            Object Source = e.getSource();
            
            if (Source == item1){
        		JFileChooser chooser = new JFileChooser();//création dun nouveau filechosser
      			chooser.setApproveButtonText(\"Ouvrir\"); //intitulé du bouton
        		chooser.showOpenDialog(null); //affiche la boite de dialogue
        		if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {   
        			String Fichier = chooser.getSelectedFile().getAbsolutePath();
        			status.setText(Fichier);
        			About Z = newApplication();
        			this.aboutBox = Z;
        			this.setVisible(false);
          		}
            }
            if (Source == item3){
         		this.dispose();
            }
        }
    
        // Main
        public static void main(String[] args) {
            Projet2 X = new Projet2();
            X.pack();
            X.setSize(300,150);
            X.setLocation(350,300);
            X.setVisible(true);
        }
        
        public About newApplication(){
            About Y = new About();
            return Y;
        }
    
        public About getAbout(){
            return this.aboutBox;
        }
    }
    et le probleme viens de l\'autre fenetre:
    Code:
    /*About.java*/
    
    package pack;
    
    import java.awt.*; 										//declaration des librairies utilisés
    import java.awt.event.*; 
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*; 
    import javax.swing.table.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    
    public class About extends JFrame{
    	private JPanel pane;								//declaration du conteneur
    	private FlowLayout flo;								//l\'interface graphique,...
    	private String Contenu;
    	private char tab[];									
        private String Fichier = \"aaca2.txt\";				
        private String Longueur;
        private String Type=\"\";
        private JLabel label;
        private JTextField formul=null;
        private int n=0;									//nombre total de formulaire
        private JLabel page;
        private int m=0;									//numero actuel du formulaire
        private JButton suivant;
        private int o=0;
        private Integer PL;
    
    		Toolkit k = Toolkit.getDefaultToolkit();		//definition de l\'ecran
    		Dimension tailleEcran = k.getScreenSize();		//mesure pour centrer la fenetre
    		int largueurEcran = tailleEcran.width;
    		int hauteurEcran = tailleEcran.height;
    		
    	public About() {
    		super(\"Formulaire\");									//declaration de la fenetre et mise en place
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		pane = new JPanel();
    		flo = new FlowLayout ();
    		label = new JLabel(\"\");
    		page = new JLabel(\"\");
    		suivant = new JButton(\"suivant\");
    		formul = new JTextField(25);							//ajout des composant 
    		pane.setLayout(flo);									//et conteneur
    		pane.add(label);										//ajout du label dans le conteneur
    		pane.add(formul);										//ajout du champ texte dans le conteneur
    		pane.add(page);
    		pane.add(suivant);
    		suivant.addActionListener(this);
    		setContentPane(pane);
    		this.setSize(285, 112);
    		this.setLocation(largueurEcran*2/8+100, hauteurEcran*3/8+30);
    		this.setVisible(true);
    	}
    }
    le programme ne fait rien pour l\'instant.
    mais surtout il y a un message d\'erreur sur le:
    suivant.addActionListener(this);
    l\'erreur est:
    C:\\stage\\java\\projet\\About.java:51: addActionListener(java.awt.event.ActionListener) in javax.swing.AbstractButton cannot be applied to (pack.About)
    voila merci pour les reponses.
    "Use Soap"

  2. #2
    Visiteur MP
    Visiteur MP
    Heu à tout hasard,
    T\'aurais pas oublié implements ActionListener pour ta classe About ??

    :wink:

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    204
    oups ops:
    y\'ai pas fait expres.
    merci.
    "Use Soap"

  4. #4
    Visiteur MP
    Visiteur MP
    Ben heureusement, il manquerait plus que ça...

    :
    ++

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    Tourné d\'apero pour jjHun ou inscription au tableau d\'horreur du site.

    J\'ésite encore entre le \'ou\' et le \'et\' incription ... :wink:

  6. #6
    Visiteur MP
    Visiteur MP
    Mdrrr !

    Moi je le mets dans la catégorie tete en l\'air...
    Il viendra s\'ajouter à tous les membres et les modos de ce site comme ça !!!
    :wink:

    Je suis cependant d\'avis que tous ceux qui se retrouve un jour dans cette gatégorie paye un apéro...

    Bon allé on avait dit plus de blabla dans les post.
    Bon ici ça reste à titre informatif, et le problème est résolu, alors...

  7. #7
    Membre MP
    Inscrit
    août 2013
    Messages
    107
    bonjour, je voudrais savoir si la première ligne
    package pack; sert à relier les deux fichiers avec l\'instruction X.pack(); est elle indispensable?
    Puis on compile les deux fichiers et on lance java Projet2 pour l\'évécuter? ops:
    sido

  8. #8
    Visiteur MP
    Visiteur MP
    non c\'est juste un package à lui...

    :wink:

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    107
    merci :wink:
    sido

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!