Bonjour,

Je suis en train de réaliser une checklist de courses qui se modélise graphiquement par un tableau à une entrée qui a pour colonne : Categorie, Produit, quantité, Achete. Ma classe produit prend en paramètre les éléments Produit, quantité, acheté. Ma classe catégorie me sert à lister les produits selon leurs catégories. J'ai donc dans chacune de mes catégories un tableau de produits. Une autre classe "Liste" récupère toutes les catégories dans un tableau et c'est celui-ci que j'aimerai afficher.

Pour récupérer de nouveaux produits, catégories je demande à l'utilisateur de remplir les informations relatives aux catégories, produit via un showInputDialog, ces données se transforment automatiquement sous forme de String et c'est le soucis. Par exemple je voudrai récupérer la quantité qui est un int. Il y a un donc un problèmes de type, il s'agit de mon 1er problème.

De plus si vous voyez mes mes classes qui gèrent mes événements les données rentré par l'utilisateur vont devenir des objets ou bien des caractéristiques d'objets. J'ai réussi à régler le soucis de typage avec mon bouton addCategory en changeant un argument de méthodes en Object et en le castant Categorie comme ceci mais cela ne fonctionne toujours pas et j'ai droit à un jolie message d'erreur. Existe t-il une solution à mon problème ?
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
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
 
at com.baptiste.checklist.gui.Fenetre$addCategoryListenner.actionPerformed(Fenetre.java:156)
 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
 
at java.awt.Component.processMouseEvent(Unknown Source)
 
at javax.swing.JComponent.processMouseEvent(Unknown Source)
 
at java.awt.Component.processEvent(Unknown Source)
 
at java.awt.Container.processEvent(Unknown Source)
 
at java.awt.Component.dispatchEventImpl(Unknown Source)
 
at java.awt.Container.dispatchEventImpl(Unknown Source)
 
at java.awt.Component.dispatchEvent(Unknown Source)
 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
 
at java.awt.Container.dispatchEventImpl(Unknown Source)
 
at java.awt.Window.dispatchEventImpl(Unknown Source)
 
at java.awt.Component.dispatchEvent(Unknown Source)
 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
 
at java.awt.EventQueue.access$500(Unknown Source)
 
at java.awt.EventQueue$3.run(Unknown Source)
 
at java.awt.EventQueue$3.run(Unknown Source)
 
at java.security.AccessController.doPrivileged(Native Method)
 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
 
at java.awt.EventQueue$4.run(Unknown Source)
 
at java.awt.EventQueue$4.run(Unknown Source)
 
at java.security.AccessController.doPrivileged(Native Method)
 
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
 
at java.awt.EventQueue.dispatchEvent(Unknown Source)
 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 
at java.awt.EventDispatchThread.run(Unknown Source)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public void addCategory(Object c)
    {
        categories.add((Categorie) c);
    }
Merci beaucoup, si vous avez besoin des codes n'hésitez pas je ne les mets pour éviter de faire un post trop long.

Bon dimanche