Bonjour,

Sur mes IHM j'utilise souvant sur mes Jtable et mes JList des JPopupMenu avec les item Add/Remove/Modify. Du coup j'aimerai créer JPopupMenu avec ces 3 items deja implementé dedans.

Voila le code que j'ai fait mais je ne trouve pas terrible la gestion des Actions et des libellés des items. J'aimerais bien me rapproché le plus possible de la gestion fait par Netbeans pour le JSP 296.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
import javax.swing.Action;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
 
public class JPopupMenuAddRemove extends JPopupMenu {
 
    /**
     * @see #getUIClassID
     * @see #readObject
     */
    private static final String uiClassID = "PopupMenuAddRemoveUI";
    private JMenuItem jMenuItemDelete;
    private JMenuItem jMenuItemNew;
 
    public JPopupMenuAddRemove() {
        super();
        initComponents();
    }
 
    private void initComponents() {
        this.setName("jPopupMenu");
        jMenuItemNew = new javax.swing.JMenuItem();
        jMenuItemDelete = new javax.swing.JMenuItem();
 
        jMenuItemNew.setText("New");
        jMenuItemNew.setDoubleBuffered(true);
        jMenuItemNew.setFocusable(true);
        jMenuItemNew.setName("jMenuItemNew");
        this.add(jMenuItemNew);
 
        jMenuItemDelete.setText("Delete");
        jMenuItemDelete.setDoubleBuffered(true);
        jMenuItemDelete.setFocusable(true);
        jMenuItemDelete.setName("jMenuItemDelete");
        this.add(jMenuItemDelete);
    }
 
    public void setNewItemText(String text) {
        jMenuItemNew.setText(text);
    }
 
    public void setDeleteItemText(String text) {
        jMenuItemDelete.setText(text);
    }
 
    public void setNewItemAction(Action action) {
        jMenuItemNew.setAction(action);
    }
 
    public void setDeleteItemAction(Action action) {
        jMenuItemDelete.setAction(action);
    }
}
Avez des conseils/propositions à me faire ?