[Multi fenêtres] Revenir à une JFrame après création d'un JPanel
Bonjour tout le monde ;),
Je voudrais faire une application multi fenetres. Pour être plus explicite :
Voici ma classe Menu.
Code:
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
public class Menu implements ActionListener {
String cal="";
int res=0;
JLabel lab_cal = new JLabel(cal);
JLabel lab_res = new JLabel("Résultat");
JFrame window = new JFrame("Compteur");
JButton btn_connect = new JButton("Connexion");
JButton btn_jouer = new JButton("Jouer");
JButton btn_quit = new JButton("Quitter");
private JTextField pseudo = new JTextField("Pseudo");
private JTextField mdp = new JTextField("Mot de passe");
private JLabel pseudo_af = new JLabel("Pseudo : ");
private JLabel mdp_af = new JLabel("Mot de passe : ");
Container container = window.getContentPane();
JPanel champs_connect = new JPanel(new GridLayout(3,2));
JPanel boutons_haut = new JPanel(new GridLayout(1,2));
public Menu ()
{
container.setLayout(new BorderLayout());
champs_connect.add(pseudo);
champs_connect.add(pseudo_af);
champs_connect.add(mdp);
champs_connect.add(mdp_af);
champs_connect.add(btn_connect);
container.add(champs_connect, BorderLayout.CENTER);
boutons_haut.add(btn_jouer);
boutons_haut.add(btn_quit);
container.add(boutons_haut, BorderLayout.NORTH);
btn_connect.addActionListener(this);
btn_jouer.addActionListener(new jouer());
btn_quit.addActionListener(this);
Border border = LineBorder.createGrayLineBorder();
window.setSize(800, 450);
window.setVisible(true);
window.setLocationRelativeTo(null);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private ActionListener quitter(ActionEvent e) {
// TODO Auto-generated method stub
return null;
}
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if(e.getSource() == btn_quit)
System.exit(0);
}
class connect implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
container.validate();
}
}
class jouer implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Jeu partie_jeu = new Jeu();
container.remove(boutons_haut);
container.remove(champs_connect);
container.add(partie_jeu);
int nb=0;
nb = partie_jeu.partie();
if (nb==1)
{
container.remove(partie_jeu);
}
container.validate();
}
}
} |
Voici ma classe Jeu appellée lorsqu'on appuye sur le bouton jouer.
Code:
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 39 40 41 42 43 44
|
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
public class Jeu extends JPanel implements ActionListener {
JButton btn_connect = new JButton("Revenir au Menu");
private int tours_tot=2, tours=0;
public Jeu()
{
}
public int partie()
{
int i=0;
this.setLayout(new FlowLayout());
this.add(btn_connect);
btn_connect.addActionListener(this);
return tours;
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object source = e.getSource();
if(e.getSource() == btn_connect)
tours++;
System.out.println(tours);
}
} |
En fait, ce que je souhaiterais c'est que je puisse interagir avec des boutons dans la classe Jeu et que je puisse revenir à l'écran d'accueil après.
Auriez-vous des idées ?
Merci à tous ceux qui pourront me conseiller parce que je n'ai rien trouvé sur ce sujet.^^