Fenetre.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JLabel; import java.awt.* ; import java.awt.event.* ; public class ProgrammeGestionJournal implements ActionListener { private JButton quitter; // déclaré ici (variable de classe) pour être visible // de toute les méthodes de cette classe. private JButton gestionJournaliere; private JButton gestionDUnJournal; public ProgrammeGestionJournal() //CONSTRUCTEUR { JFrame Fenetre = new JFrame(); quitter = new JButton("quitter"); // "créé" ici. Il reste à lui "associer" un écouteur: quitter.addActionListener(this); // et afin de détecter le clique ajouter la méthode // on peut aussi quitter correctement en cliquant sur l'x blanc sur fond rouge fermer MAIS // SANS POUVOIR FAIRE DE TRAITEMENT SPÉCIFIQUE gestionJournaliere = new JButton ("Gestion Journalière"); gestionJournaliere.addActionListener(this); gestionDUnJournal = new JButton ("Gestion D'un journal"); gestionDUnJournal.addActionListener(this); JPanel pan = new JPanel(); JLabel label1 = new JLabel(); JLabel label2 = new JLabel(); JLabel label3 = new JLabel(); label1.add(quitter); label2.add(gestionJournaliere); label3.add(gestionDUnJournal); pan.add(quitter); pan.add(gestionJournaliere); pan.add(gestionDUnJournal); Fenetre.setVisible(true); Fenetre.setTitle("Gestion d'un journal"); Fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Fenetre.setSize(500, 500); Fenetre.setContentPane(pan); } /** * @param args */ public static void main(String[] args) { ProgrammeGestionJournal pgj = new ProgrammeGestionJournal(); // le code initialement dans la méthode main(....) static a été // passé dans le constructeur ProgrammeGestionJournal() (méthode // non statique et que this par exemple qui n'est pas static ne // pouvait être dans une méthode static... } public void actionPerformed( ActionEvent ae) // c'est donc ici qu'on détecte les cliques // des boutons et surtout qu'on sait quel bouton // a été cliqué { Object qui = ae.getSource(); if( qui == quitter ) { //traitement bouton quitter System.out.println("Traitement FIN"); System.exit(0); } if(qui == gestionJournaliere) { //traitement bouton gestionJournaliere (peut-être une classe, une méthode...) System.out.println("Traitement gestion journalière"); } if(qui == gestionDUnJournal) { System.out.println("Traitement gestion d'un journal"); } } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionpublic ProgrammeGestionJournal(String gestJour) //CONSTRUCTEUR 2 String gestJour n'est pas utilisé //mais permet d'avoir un 2eme constructeur { JFrame fenetre2 = new JFrame(); .... .... fenetre2.setVisible(true); fenetre2.setTitle("Gestion journalière"); /** * Remplacer (JFrame.EXIT_ON_CLOSE); qui fermerait toute l'appli * par (JFrame.DISPOSE_ON_CLOSE); * ce qui ne fermera (par clique sur le bouton X fermer) que la fenêtre * "Gestion journalière" et permettra de poursuivre avec la fenêtre * "Gestion d'un journal" restée en "embuscade" sous * la fenetre "Gestion journalière". **/ //fenetre2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); fenetre2.setSize(500, 500); fenetre2.setContentPane(pan2); }
import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JLabel; import java.awt.* ; import java.awt.event.* ; public class ProgrammeGestionJournal implements ActionListener { private JButton quitter; // déclaré ici (variable de classe) pour être visible // de toute les méthodes de cette classe. private JButton gestionJournaliere; private JButton gestionDUnJournal; private JButton nouveau; public ProgrammeGestionJournal() //CONSTRUCTEUR 1 { JFrame fenetre = new JFrame(); quitter = new JButton("quitter"); // "créé" ici. Il reste à lui "associer" un écouteur: quitter.addActionListener(this); // et afin de détecter le clique ajouter la méthode // on peut aussi quitter correctement en cliquant sur l'x blanc sur fond rouge fermer MAIS // SANS POUVOIR FAIRE DE TRAITEMENT SPÉCIFIQUE gestionJournaliere = new JButton ("Gestion Journalière"); gestionJournaliere.addActionListener(this); gestionDUnJournal = new JButton ("Gestion D'un journal"); gestionDUnJournal.addActionListener(this); JPanel pan = new JPanel(); JLabel label1 = new JLabel(); JLabel label2 = new JLabel(); JLabel label3 = new JLabel(); label1.add(quitter); label2.add(gestionJournaliere); label3.add(gestionDUnJournal); pan.add(quitter); pan.add(gestionJournaliere); pan.add(gestionDUnJournal); fenetre.setVisible(true); fenetre.setTitle("Gestion d'un journal"); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setSize(500, 500); fenetre.setContentPane(pan); } public ProgrammeGestionJournal(String gestJour) //CONSTRUCTEUR 2 String gestJour n'est pas utilisé { JFrame fenetre2 = new JFrame(); nouveau = new JButton("nouveau"); nouveau.addActionListener(this); JPanel pan2 = new JPanel(); JLabel label2_1 = new JLabel(); label2_1.add(nouveau); pan2.add(nouveau); fenetre2.setVisible(true); fenetre2.setTitle("Gestion journalière"); fenetre2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre2.setSize(500, 500); fenetre2.setContentPane(pan2); } /** * @param args */ public static void main(String[] args) { // ProgrammeGestionJournal pgj = new ProgrammeGestionJournal(); new ProgrammeGestionJournal(); // le code initialement dans la méthode main(....) static a été // passé dans le constructeur ProgrammeGestionJournal() (méthode // non statique car this par exemple qui n'est pas static ne // pouvait être dans une méthode static... } public void actionPerformed( ActionEvent ae) // c'est donc ici qu'on détecte les cliques // des boutons et surtout qu'on sait quel bouton // a été cliqué { Object qui = ae.getSource(); if( qui == quitter ) { //traitement bouton quitter System.out.println("Traitement FIN"); System.exit(0); } if(qui == gestionJournaliere) { //traitement bouton gestionJournaliere (peut-être une classe, une méthode...) System.out.println("Traitement gestion journalière"); new ProgrammeGestionJournal("gestion journalière"); // constructeur 2 } if(qui == gestionDUnJournal) { System.out.println("Traitement gestion d'un journal"); } if(qui == nouveau) { System.out.println("Traitement bouton nouveau"); } } }