Bonjour, j'écris ce topic car mes recherches restent infructueuses. Voici mon problème :
Lorsque j'exécute mon programme sous netbeans, tout se passe bien, mais une fois en jar, le programme s'arrête et je ne trouve pas la raison. Voici le code :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
 
public MenuBar (Context context) {
        this.context = context;
        initListMenus(context);
        this.setBackground(Color.white);
    }
 
    public void initListMenus (Context context) {
        //create main menus
        menus = new JMenu[menuTitles.length];//menus creation with tittle
        for (int i=0; i<menuTitles.length; i++) {
            JMenu menu = new JMenu(menuTitles[i]);//menus creation with tittle
            menu.setFont(new Font("SansSerif", Font.BOLD, 13));
            menu.setForeground(Color.BLACK);
            menus[i] = menu;
            this.add(menus[i]);
        }
        //client menu
        menus[0].add(new MenuItem(new SelectCustomerFunctionnality(context)));
        menus[0].add(new MenuItem(new CreateCustomerFunctionnality(context)));
        menus[0].add(new MenuItem(new UpdateCustomerFunctionnality(context)));
        JMenu consultor = new JMenu("Consulteur");
        consultor.add(new MenuItem(new CreateConsultorFunctionnality(context)));
        consultor.add(new MenuItem(new SelectConsultorFunctionnality(context)));
        consultor.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/consultorM.png"));
        //consultor.add(new MenuItem(new WebAccessFunctionnality(context)));
        menus[0].add(consultor);
        JMenu contact = new JMenu("Contact");
        contact.add(new MenuItem(new CreateContactFunctionnality(context)));
        contact.add(new MenuItem(new SearchContactFunctionnality(context)));        
        contact.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/contactM.png"));
        menus[0].add(contact);
        menus[0].add(new MenuItem(new ExitFunctionnality()));
DisplayQuestion.yesNo("0 ?","20");//C'est une JOptionPane
        //recherche menu
 
        menus[1].add(new MenuItem(new SearchBoxFunctionnality(context)));//c'est ici que ça coince
        DisplayQuestion.yesNo("0 ?","21");
        menus[1].add(new MenuItem(new SearchFamilyFunctionnality(context)));
        DisplayQuestion.yesNo("0 ?","22");
        menus[1].add(new MenuItem(new SearchContainerFunctionnality(context)));
        DisplayQuestion.yesNo("0 ?","23");
        menus[1].add(new MenuItem(new SearchLocationFunctionnality(context)));
        DisplayQuestion.yesNo("0 ?","30");
        JMenu historic = new JMenu("Historique");
        historic.add(new MenuItem(new SearchOutputFunctionnality(context)));
        historic.add(new MenuItem(new SearchInputFunctionnality(context)));
        historic.add(new MenuItem(new SearchDestroyingFunctionnality(context)));
        historic.add(new MenuItem(new SearchMovedBoxesFunctionnality(context)));
        historic.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/searchM.png"));
        menus[1].add(historic);
        menus[1].add(new MenuItem(new SearchByBarCodeFunctionnality(context)));
 
        menus[2].add(new MenuItem(new CreateBoxFunctionnality(context)));
        menus[2].add(new MenuItem(new SelectBoxFunctionnality(context)));
        menus[2].add(new MenuItem(new ImportFunctionnality(context)));
        JMenu famille = new JMenu("Famille");
        famille.add(new MenuItem(new CreateFamilyFunctionnality(context)));
        famille.add(new MenuItem(new SelectFamilyFunctionnality(context)));
        DisplayQuestion.yesNo("0 ?","100");
        famille.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/familyM.png"));
        JMenu transfert = new JMenu("Transfert");
        transfert.add(new MenuItem(new FamiliesMergingFunctionnality(context)));
        transfert.add(new MenuItem(new BoxesTransfertFunctionnality(context)));
        transfert.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/transfertM.png"));
        famille.add(transfert);
        menus[2].add(famille);
 
        menus[3].add(new MenuItem(new ContaineringFunctionnality(context)));
        menus[3].add(new MenuItem(new ContaineringSelectionFunctionnality(context)));
        menus[3].add(new MenuItem(new LocationningFunctionnality(context)));
 
        menus[4].add(new MenuItem(new CreateOutputFunctionnality(context)));
        menus[4].add(new MenuItem(new CreateInputFunctionnality(context)));
        menus[4].add(new MenuItem(new CreateDestroyFunctionnality(context)));
DisplayQuestion.yesNo("0 ?","200");
        JMenu listOf = new JMenu("Liste des...");
        listOf.add(new MenuItem(new PrintListBoxesFunctionnality(context)));
        listOf.add(new MenuItem(new PrintListFamiliesFunctionnality(context)));
        JMenu containers = new JMenu("Conteneurs");
        containers.add(new MenuItem(new PrintListContainersByCustomerFunctionnality(context)));
        containers.add(new MenuItem(new PrintListContainersByLocationFunctionnality(context)));
        containers.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/printM.png"));
        listOf.add(containers);
        listOf.add(new MenuItem(new PrintListLocationsFunctionnality(context)));
        listOf.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/printM.png"));
        menus[5].add(listOf);
DisplayQuestion.yesNo("0 ?","300");
        JMenu logistic = new JMenu("Etiquettes");
        logistic.add(new MenuItem(new PrintLabelBoxFunctionnality(context)));
        logistic.add(new MenuItem(new PrintLabelContainerFunctionnality(context)));
        logistic.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/barcode.png"));
        menus[5].add(logistic);
        menus[5].add(new MenuItem(new PrintInventoringSheetFunctionnality(context)));
 
        JMenu location = new JMenu("Emplacement");
        location.add(new MenuItem(new CreateLocationFunctionnality(context)));
        location.add(new MenuItem(new UpdateLocationFunctionnality(context)));
        location.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/locationM.png"));
        menus[6].add(location);
        JMenu staff = new JMenu("Personnel");
        staff.add(new MenuItem(new CreateStaffFunctionnality(context)));
        staff.add(new MenuItem(new UpdateStaffFunctionnality(context)));
        DisplayQuestion.yesNo("0 ?","400");
        staff.setIcon(
                new ImageIcon("annexes/ressources/pictures/icones/staff.png"));
        menus[6].add(staff);
        menus[6].add(new MenuItem(new StatisticsFunctionnality(context)));
        menus[6].add(new MenuItem(new DeleteCustomerFunctionnality(context)));
        menus[6].add(new MenuItem(new DestroyedBoxesFunctionnality(context)));
        menus[6].add(new MenuItem(new DeletedBoxesFunctionnality(context)));
        menus[6].add(new MenuItem(new NeverBackBoxesFunctionnality(context)));
    }
Pour que vous puissiez mieux voir :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public SearchBoxFunctionnality(Context context) {
        super("Boite", new Shortcut(), "search", new SearchBoxFrame(context));
    }
 
    @Override
    public boolean isAllowed() {
        Staff s = getContext().getCurrentStaff();
        if (s != null)
            return s.getService().equals(Staff.ADMINISTRATION) ||
                    s.getService().equals(Staff.EXPLOITATION) ||
                    s.getService().equals(Staff.COMMERCIAL);
        else return false;
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public class SearchBoxFrame extends AbstractFrame {
 
    public SearchBoxFrame(Context context) {
        super(context);
        DisplayQuestion.yesNo("0 ?","SBF");//n'apparait pas
    }
 
    @Override
    public void launch() {
        this.controller = new SearchBoxController(context, this);
        this.view = new SearchBoxView(controller);
    }