Mon problème est quand je clique sur Quitter dans mon menu, ça ferme bien mais quand je clique sur Connecter ou Cancel par exemple, il ne se passe rien alors que tout est analysé dans le même actionPerformed(ActionEvent e) avec des if..
Voici mon code:
package app;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.event.*;
public class Interface extends JFrame implements ActionListener{
// Attributs
private PopClient pop;
private JMenuItem quitter;
private JTextField user = new JTextField();
private JTextField mdp = new JTextField();
private JTextField host = new JTextField();
private JTextField port = new JTextField();
private JTextArea message = new JTextArea();
private JButton connecter;
private JButton cancel;
// Constructeur
public Interface()
{
// Donner un titre à la fenetre
this.setTitle("PopServer");
// Mettre une taille à la fenetre (largeur,hauteur)
this.setSize(350,175);
// Empecher le redimensionnement de la fenetre
this.setResizable(false);
// Positionner la fenetre (x,y), null pour le centre
this.setLocationRelativeTo(null);
// L'application s'arrête lorsque la fenêtre est fermée.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Fonction pour initialiser les composants
this.init();
// Rendre visible la fenetre
this.setVisible(true);
}
// Fonction pour initialiser le menu
private void init()
{
// Menu
JMenuBar menubar = new JMenuBar();
JMenu menu = new JMenu("Fichier");
quitter = new JMenuItem("Quitter");
// Ajouter le menuitem au menu
menu.add(quitter);
menubar.add(menu);
quitter.addActionListener(this);
// Positionner le menu en haut de la fenetre
this.setJMenuBar(menubar);
// Déclaration des JPanel
JPanel panelRenseignements = new JPanel(new BorderLayout());
JPanel panelBoutton = new JPanel();
// Déclaration d'un GridLayout de 3 lignes et 2 colonnes
panelRenseignements.setLayout(new GridLayout(4,3));
panelRenseignements.add(new JLabel("User :"));
panelRenseignements.add(user);
panelRenseignements.add(new JLabel("Mot de passe :"));
panelRenseignements.add(mdp);
panelRenseignements.add(new JLabel("Host :"));
panelRenseignements.add(host);
panelRenseignements.add(new JLabel("Port :"));
panelRenseignements.add(port);
// Bouttons
JButton connecter = new JButton("Connecter");
JButton cancel = new JButton("Cancel");
panelBoutton.add(connecter);
panelBoutton.add(cancel);
// Ajout des actions
cancel.addActionListener(this);
connecter.addActionListener(this);
// Ajout des JPanel à la JFrame
getContentPane().add(panelRenseignements, BorderLayout.NORTH);
getContentPane().add(panelBoutton, BorderLayout.SOUTH);
}
// Fonction pour vider les champs Texte
public void clear()
{
user.setText("");
host.setText("");
port.setText("");
mdp.setText("");
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == quitter)
{
System.exit(0);
}else if (e.getSource() == connecter)
{
Menu fenetreMenu = new Menu();
}else if (e.getSource() == cancel)
{
clear();
}
}
}
Je m'acharne depuis quelques heures dessus mais bon, c'est ma première fenêtre graphique donc je pense que c'est normal de faire des erreurs.. :/
