Probleme fermeture fenetre
goblix64
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, j'ai un problème avec la fermeture d'une fenêtre actionner par un ActionListener pouvez vous m'aidez
voila le problème viens de dispose() avez vous la solution
import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JTextArea; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Fenetre2 extends JFrame { private Interfaceprincipale fen2; private JPanel pan = new JPanel(); private JLabel label = new JLabel("veillez accepter les condition d'utilisation"); private JButton bouton1 = new JButton("Start"); private JRadioButton jr1 = new JRadioButton("accepter les condition"); private JRadioButton jr2 = new JRadioButton("refuser les condition"); private ButtonGroup bg = new ButtonGroup(); private JButton bout5 = new JButton("confirmer"); private JTextArea textPane = new JTextArea(); private JScrollPane scroll = new JScrollPane(textPane); public Fenetre2(){ pan.setLayout(new BorderLayout()); this.setTitle("deuxième fenetre"); this.setSize(300,300); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setLocationRelativeTo(null); pan.setBackground(Color.WHITE); pan.add(label); JPanel top = new JPanel(); textPane.setText("bienvenue pour pouvoir utiliser cette application \n vous devez avepter les condition :"); jr1.setSelected(true); jr1.addActionListener(new StateListener()); jr2.addActionListener(new StateListener()); bout5.addActionListener(new StateListener()); bg.add(jr1); bg.add(jr2); top.add(jr1); top.add(jr2); top.add(pan); top.add(scroll); top.add(textPane); top.add(bout5, BorderLayout.SOUTH); this.setContentPane(top); this.setVisible(true); } class StateListener implements ActionListener{ public void actionPerformed(ActionEvent e) { int compteur = 0; if( bg.getSelection() == null) { // rien de selectionné } else if (bg.getSelection() == jr1) { // c'est le JRadioButton 1 qui est sélectionné System.out.print("accepter"); ++ compteur ; } else if (bg.getSelection() == jr2) { // c'est le JRadioButton 2 qui est sélectionné System.out.print("non accepter"); } if (compteur == 1) { Fenetre2().dispose(); fen2 = new Interfaceprincipale(); } } } }
voila le problème viens de dispose() avez vous la solution
A voir également:
- Probleme fermeture fenetre
- Fenetre windows - Guide
- Sytadin fermeture - Télécharger - Transports & Cartes
- Fenêtre hors écran windows 11 - Guide
- Forcer fermeture fenetre windows - Guide
- Mcafee fenetre intempestive - Accueil - Piratage
1 réponse
Bonjour,
Voici une manière de faire, un peu allégée par rapport à ton code de départ.
Voici une manière de faire, un peu allégée par rapport à ton code de départ.
import java.awt.*; import javax.swing.*; public class Fenetre2 extends JFrame { private static final long serialVersionUID = 1L; public Fenetre2() { JRadioButton accepterBtn = new JRadioButton("accepter les condition"); JRadioButton refuserBtn = new JRadioButton("refuser les condition"); JButton confirmerBtn = new JButton("confirmer"); confirmerBtn.addActionListener(e -> { if (accepterBtn.isSelected()) { dispose(); } }); ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.add(accepterBtn); buttonGroup.add(refuserBtn); setTitle("deuxième fenetre"); setLayout(new GridLayout(4, 1)); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setLocationRelativeTo(null); add(new JLabel("Veuillez accepter les condition d'utilisation")); add(accepterBtn); add(refuserBtn); add(confirmerBtn); pack(); setVisible(true); } }