package ProjetLisa;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import static ProjetLisa.Lisa.*;
public class MenuPrincipale extends JPanel implements ActionListener, KeyListener {
//Tout les composants
private JLabel connexion = new JLabel("LISA");
private JLabel erreur1 = new JLabel("Veuillez entrer vos identifiants");
private JPanel p1 = new JPanel(); // Conteneur principale
//Composants de p1
private JLabel id = new JLabel("Identifiant :");
private JLabel mdp = new JLabel("Mot de passe :");
private JTextField fID = new JTextField("", 15);
private JTextField fMDP = new JPasswordField("", 15);
private JCheckBox resterConnecte = new JCheckBox("Rester connecté ?");
private JButton Bconnexion = new JButton("Connexion");
private FlowLayout p1Layout = new FlowLayout(50, 10, 20);
private FlowLayout thisLayout = new FlowLayout(50, 40, 20);
private static int erreur = 0;
/**
* Constructeur du menu de connexion
*/
public MenuPrincipale() {
setLayout(thisLayout);
connexion.setPreferredSize(new Dimension(300, 75));
connexion.setHorizontalAlignment(JLabel.CENTER);
connexion.setVerticalAlignment(JLabel.CENTER);
connexion.setFont(new Font(Font.DIALOG_INPUT, Font.PLAIN, 50));
add(connexion); // Ajout du label connexion en titre
// Maj de la check box resterConnecte
resterConnecte.setBackground(new Color(174, 37, 115));
resterConnecte.setPreferredSize(new Dimension(200, 20));
resterConnecte.setHorizontalAlignment(JCheckBox.RIGHT);
//Maj de P1
p1.setPreferredSize(new Dimension(300, 180)); // Taille de p1
p1.setBackground(new Color(174, 37, 115)); // Couleur de p1
p1Layout.setAlignment(FlowLayout.RIGHT); // Mise a niveau du layout pour p1
p1.setLayout(p1Layout); // Layout de p1
p1.setBounds(5, 5, (int) p1.getSize().getWidth() - 10, (int) p1.getSize().getHeight() - 10);
//Adds sur p1
p1.add(id); // Ajout du label id
p1.add(fID); // Ajout du textField id
p1.add(mdp); // Ajout du label mdp
p1.add(fMDP); // Ajout du textField mdp
p1.add(resterConnecte);
p1.add(Bconnexion); // Ajout du bouton de connexion
fID.addKeyListener(this);
fMDP.addKeyListener(this);
resterConnecte.addKeyListener(this);
Bconnexion.addKeyListener(this);
resterConnecte.setCursor(new Cursor(Cursor.HAND_CURSOR));
Bconnexion.setCursor(new Cursor(Cursor.HAND_CURSOR));
Bconnexion.addActionListener(this); // Ajout d'un actionListener sur le bouton de connexion
add(p1);
// Erreur = Aucun pseudo entre
if (erreur == 1) {
erreur1.setFont(new Font(Font.DIALOG, Font.BOLD, 15));
erreur1.setForeground(Color.red);
erreur1.setPreferredSize(new Dimension(300, 20));
erreur1.setHorizontalAlignment(JLabel.CENTER);
add(erreur1);
}
}
/**
*
* @param e
*/
@Override
public void actionPerformed(ActionEvent e) {
// Il n'y a pas de mise en scene pour la verificaiton du mot de passe
Constante.ID = fID.getText();
if (Constante.ID.equals("")) {
erreur = 1;
projet.setNiveau(MenuDeConnexion);
} else {
// Si la checkBox est coche, le programme enregistre le pseudo dans un fichier
if (resterConnecte.isSelected()) {
new Constante().changeID(fID.getText());
} else {
new Constante().changeID("");
}
// Passage au calendrier
Lisa.projet.setNiveau(Lisa.Calendrier);
}
}
/**
* @param e
*/
@Override
public void keyPressed(KeyEvent e) {
// Si on appuie sur entrer, le bouton de connexion s'active => actionPerformed()
if (e.getKeyCode() == KeyEvent.VK_ENTER && (e.getSource() == fID || e.getSource() == fMDP || e.getSource() == Bconnexion)) {
Bconnexion.doClick();
} else if (e.getKeyCode() == KeyEvent.VK_ENTER && e.getSource() == resterConnecte) {
resterConnecte.doClick();
}
}
/**
*
* @param e
*/
@Override
public void keyTyped(KeyEvent e) {
}
/**
*
* @param e
*/
@Override
public void keyReleased(KeyEvent e) {
}
}