Actualiser src/fr/iutfbleau/papillon/PanelRappel.java

This commit is contained in:
2025-10-23 08:58:29 +02:00
parent e72892c85a
commit b1248bb5e2
+117 -115
View File
@@ -1,116 +1,118 @@
// package fr.iutfbleau.papillon; // package fr.iutfbleau.papillon;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
public class PanelRappel extends JPanel implements ActionListener, MouseListener{ public class PanelRappel extends JPanel implements ActionListener, MouseListener{
private final JLabel lbtitre; private final JLabel lbtitre;
private final JLabel lbcontenu; private final JLabel lbcontenu;
private final Rappel r; private final Rappel r;
private final JPopupMenu menu; private final JPopupMenu menu;
private final JMenuItem itemOuvrir; private final JMenuItem itemOuvrir;
private boolean estSelectionne = false; private static CouleurList couleur = new CouleurList();
public PanelRappel(Rappel r){ private boolean estSelectionne = false;
super(new BorderLayout(2,0));
this.r = r; public PanelRappel(Rappel r){
lbtitre = new JLabel("["+r.getRang()+"] "+r.getTitre()); super(new BorderLayout(2,0));
lbcontenu = new JLabel(r.getContenu()); this.r = r;
lbtitre = new JLabel("["+r.getRang()+"] "+r.getTitre());
this.setPreferredSize(new Dimension(70, 50)); lbcontenu = new JLabel(r.getContenu());
this.setBackground(Color.CYAN);
this.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY, 2)); this.setPreferredSize(new Dimension(70, 50));
this.setBackground(couleur.couleurDe(r.getTheme()));
setLayout(new GridBagLayout()); this.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY, 2));
GridBagConstraints c = new GridBagConstraints();
c.anchor = GridBagConstraints.NORTHWEST; setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
// --- Position du titre (en haut) c.anchor = GridBagConstraints.NORTHWEST;
c.gridx = 0;
c.gridy = 0; // --- Position du titre (en haut)
c.weightx = 1; // prend l'espace c.gridx = 0;
c.fill = GridBagConstraints.NONE; c.gridy = 0;
add(lbtitre, c); c.weightx = 1; // prend l'espace
c.fill = GridBagConstraints.NONE;
add(lbtitre, c);
// --- Position du contenu (en dessous)
c.gridx = 0;
c.gridy = 1; // --- Position du contenu (en dessous)
c.weightx = 1; c.gridx = 0;
c.fill = GridBagConstraints.NONE; c.gridy = 1;
add(lbcontenu, c); c.weightx = 1;
c.fill = GridBagConstraints.NONE;
// --- Menu contextuel (clic droit) --- add(lbcontenu, c);
menu = new JPopupMenu();
itemOuvrir = new JMenuItem("Ouvrir"); // --- Menu contextuel (clic droit) ---
itemOuvrir.addActionListener(this); menu = new JPopupMenu();
menu.add(itemOuvrir); itemOuvrir = new JMenuItem("Ouvrir");
itemOuvrir.addActionListener(this);
// écouteur de souris ajouté ici menu.add(itemOuvrir);
addMouseListener(this);
} // a améliorer
addMouseListener(this);
public boolean getSelection(){ }
return estSelectionne;
} public boolean getSelection(){
return estSelectionne;
public int getId(){ }
return r.getId();
} public int getId(){
return r.getId();
public Rappel getRappel(){ }
return r;
} public Rappel getRappel(){
// ACTIONS return r;
@Override }
public void actionPerformed(ActionEvent e) { // ACTIONS
Object src = e.getSource(); @Override
public void actionPerformed(ActionEvent e) {
if (src == itemOuvrir) { Object src = e.getSource();
JOptionPane.showMessageDialog(
this, if (src == itemOuvrir) {
"Ouverture du rappel : " + lbtitre.getText(), JOptionPane.showMessageDialog(
"Ouvrir", this,
JOptionPane.INFORMATION_MESSAGE "Ouverture du rappel : " + lbtitre.getText(),
); "Ouvrir",
} JOptionPane.INFORMATION_MESSAGE
} );
}
@Override }
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) { @Override
menu.show(e.getComponent(), e.getX(), e.getY()); public void mousePressed(MouseEvent e) {
}else { if (e.isPopupTrigger()) {
// clic gauche = sélection menu.show(e.getComponent(), e.getX(), e.getY());
estSelectionne = !estSelectionne; }else {
// clic gauche = sélection
if (estSelectionne) { estSelectionne = !estSelectionne;
setBackground(Color.LIGHT_GRAY);
setBorder(BorderFactory.createLineBorder(Color.BLACK, 2)); if (estSelectionne) {
} else { setBackground(Color.LIGHT_GRAY);
setBackground(Color.CYAN); setBorder(BorderFactory.createLineBorder(Color.BLACK, 2));
setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY, 2)); } else {
} setBackground(Color.CYAN);
setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY, 2));
repaint(); }
}
} repaint();
}
@Override }
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) { @Override
menu.show(e.getComponent(), e.getX(), e.getY()); public void mouseReleased(MouseEvent e) {
} if (e.isPopupTrigger()) {
} menu.show(e.getComponent(), e.getX(), e.getY());
}
// Les autres méthodes sont obligatoires mais inutilisées ici }
@Override public void mouseClicked(MouseEvent e) {}
@Override public void mouseEntered(MouseEvent e) {}
@Override public void mouseExited(MouseEvent e) {} @Override public void mouseClicked(MouseEvent e) {}
@Override public void mouseEntered(MouseEvent e) {}
@Override public void mouseExited(MouseEvent e) {}
} }