copie SAE papillon
This commit is contained in:
133
src/fr/iutfbleau/papillon/GestionModif.java
Normal file
133
src/fr/iutfbleau/papillon/GestionModif.java
Normal file
@@ -0,0 +1,133 @@
|
||||
package fr.iutfbleau.papillon;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import javax.swing.*;
|
||||
import java.awt.event.*;
|
||||
|
||||
|
||||
/**
|
||||
* La classe <code>GestionModif</code> gère les boutons de la fenêtre
|
||||
* de modification d’un rappel dans l’application <b>Papillon</b>.
|
||||
* <p>
|
||||
* Elle permet à l’utilisateur de valider ou d’annuler les changements
|
||||
* effectués sur un rappel existant.
|
||||
* </p>
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
|
||||
*/
|
||||
public class GestionModif extends ArrayList<JButton> implements ActionListener{
|
||||
|
||||
|
||||
/** Bouton de validation. */
|
||||
private final JButton boutonValider;
|
||||
|
||||
/** Bouton d'annulation. */
|
||||
private final JButton boutonAnnuler;
|
||||
|
||||
/** Champ de saisie pour le titre du rappel. */
|
||||
private final JTextField champTitre;
|
||||
|
||||
/** Champ de saisie pour le contenu du rappel. */
|
||||
private final JTextArea champContenu;
|
||||
|
||||
/** Sélecteur du niveau de priorité. */
|
||||
private JComboBox<Integer> rang;
|
||||
|
||||
/** Sélecteur du thème du rappel. */
|
||||
private final JComboBox<String> comboTheme;
|
||||
|
||||
/** Référence au rappel à modifier. */
|
||||
private Rappel rappel;
|
||||
|
||||
/** Gestionnaire des commandes agissant sur les rappels. */
|
||||
private final GestionRappel ges = new GestionRappel();
|
||||
|
||||
/** Référence à la fenêtre principale. */
|
||||
private final Main parent;
|
||||
|
||||
/** Référence à la fenêtre de modification. */
|
||||
private final JFrame f;
|
||||
|
||||
/**
|
||||
* Constructeur du gestionnaire de boutons pour la fenêtre de modification.
|
||||
*
|
||||
* @param f la fenêtre de modification
|
||||
* @param parent la fenêtre principale
|
||||
* @param champTitre le champ de texte pour le titre
|
||||
* @param champContenu la zone de texte pour le contenu
|
||||
* @param rang la liste déroulante de priorité
|
||||
* @param comboTheme la liste déroulante du thème
|
||||
* @param r le rappel à modifier
|
||||
*/
|
||||
public GestionModif(JFrame f, Main parent, JTextField champTitre, JTextArea champContenu, JComboBox<Integer> rang, JComboBox<String> comboTheme, Rappel r){
|
||||
|
||||
this.f = f;
|
||||
this.parent = parent;
|
||||
this.champTitre = champTitre;
|
||||
this.champContenu = champContenu;
|
||||
this.rang = rang;
|
||||
this.comboTheme = comboTheme;
|
||||
this.rappel = r;
|
||||
|
||||
boutonValider = new JButton("Valider");
|
||||
boutonAnnuler = new JButton("Annuler");
|
||||
this.add(boutonValider);
|
||||
this.add(boutonAnnuler);
|
||||
boutonValider.addActionListener(this);
|
||||
boutonAnnuler.addActionListener(this);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Gère les actions effectuées sur les boutons de la fenêtre.
|
||||
* <p>
|
||||
* Si l’utilisateur clique sur <b>Annuler</b>, la fenêtre principale est réaffichée.
|
||||
* Si l’utilisateur clique sur <b>Valider</b>, les changements sont enregistrés.
|
||||
* </p>
|
||||
*
|
||||
* @param e l’événement d’action déclenché par un bouton
|
||||
*/
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Object src = e.getSource();
|
||||
|
||||
if (src == boutonAnnuler) {
|
||||
|
||||
parent.setLocation(f.getLocation());
|
||||
parent.setVisible(true);
|
||||
f.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (src == boutonValider) {
|
||||
String t = champTitre.getText().trim();
|
||||
String c = champContenu.getText().trim();
|
||||
int r = (Integer) rang.getSelectedItem();
|
||||
String th = (String) comboTheme.getSelectedItem();
|
||||
|
||||
if (t.isEmpty()) {
|
||||
JOptionPane.showMessageDialog(f, "Veuillez remplir le titre.", "Champs manquants", JOptionPane.WARNING_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
// MAJ directe du rappel
|
||||
|
||||
rappel.setTitre(t);
|
||||
rappel.setContenu(c);
|
||||
rappel.setRang(r);
|
||||
rappel.setTheme(th);
|
||||
try{
|
||||
ges.modifierParId(rappel.getId(), rappel);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
Main reParent = new Main();
|
||||
reParent.setLocation(f.getLocation());
|
||||
reParent.setVisible(true);
|
||||
f.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user