Probleme fermeture fenetre
goblix64
Messages postés
6
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
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
- Forcer fermeture fenetre windows - Guide
- Fenetre windows - Guide
- Fenêtre hors écran windows 11 - Guide
- Sytadin fermeture - Télécharger - Transports & Cartes
- Fenetre de navigation privée - Guide
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);
}
}