Bonjour,
Je suis débutant et j'ai effectué un programme récupérant plusieurs données (image et capteurs) comprenant une création automatique d'un fichier xml réunissant toutes les données acquise. Et c'est là ou je bloque car je n'ai pas totalement compris la notion d'initialisation des classe d'où mon erreur"java.lang.NullPointerException"
Explication des 2 classes:
J'ai une classe IHM qui comme son nom l'indique réunie tout l'interface dont la visualisation des données vidéos et capteur plus l'interface permettant de capturé ces données dans des onglets. C'est là ou intervient la classe qui me pose problème. C'est ma classe OngletCompenent qui crée de nouveaux onglet sur mon interface à chaque nouveaux appuies sur un bouton et qui récupère les infos liées aux capteurs et à ma vidéo.
Donc le principe pour la création de mon fichier xml c'est de créer la base sur mon IHM puis d'y ajouter une nouvelle partie de XML à chaque validation d'onglet.
Là ou je coince c'est pour passer mon Element Racine depuis IHM à OngletCompenent.
Voici ma classe principale IHM qui gère l'initialisation de mon fichier XML (je vous mes que le code concernant la génération de mon xml):
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 public IHM() { .... //**** X M L *****/ //création de la racine principale Element Base = new Element("Racine"); //création de nouveau document JDOM basé sur la racine org.jdom2.Document doc = new Document(Base); getdocument(doc); getracine(Base); //*** X M L ******/ //***XML****// public void getracine(Element racine) { this.racine = racine; } .... }
Et voici ma seconde classe OngletCompenent (je vous mes pas tout le doe pour la lisibilité):
Donc mon programme plante à la ligne racine = element.racine;.
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 public Element racine; //Base de mon XML public int o = 0; //num Onglets ..... public final class OngletCompenent extends javax.swing.JPanel { .... Element racine; IHM element; .... private void ValidationOngletMouseClicked(java.awt.event.MouseEvent evt) { racine = element.racine; o = element.o; ValidationOnglet.setBackground(Color.GREEN); ValidationOnglet.setText("Onglet validé"); sdate = Date.getText(); slieu = Lieu.getText(); sheure = Heure.getText(); scapteur = textCapteur.getText(); scommentaire = textremarque.getText(); simage = (fichier.getAbsolutePath()+"_"+o+".jpg"); sOnglet = "onglet_"+o; sNum = Integer.toString(o); //Créaqtion d'un nouvel élément Onglet //en tant qu'Element de racine Element onglet = new Element(sOnglet); racine.addContent(onglet); //cration d'un nouveau attribut de classe que j'ajoute à onglet Attribute numero = new Attribute("neméro",sNum); onglet.setAttribute(numero); //On crée un nouvel Element lieu Element lieu = new Element("Lieu"); lieu.setText(slieu); onglet.addContent(lieu); //On crée un nouvel Element date Element date = new Element("date"); date.setText(sdate); onglet.addContent(date); //On crée un nouvel Element heure Element heure = new Element("heure"); heure.setText(sheure); onglet.addContent(heure); //On crée un nouvel Element commentaire Element commentaire = new Element("commentaire"); commentaire.setText(scommentaire); onglet.addContent(commentaire); Element image= new Element("image"); image.setText(simage); onglet.addContent(image); } }
Voila j’espère que j'ai su resté clair dans mes explications.
Je vous remercie d'avance pour vos réponses.
Partager