Bonjour,
J'ai deux questions.
Premièrement j'ai un JTree que je souhaite sauver, voici mon code pour le sauvegarder:
Sachant que mon arbre est sur trois niveaux. Voici l'erreur:
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 public void save(JTree tree){//ne garde pas les retours à la ligne DefaultMutableTreeNode node1; DefaultMutableTreeNode node; JFileChooser chooser = new JFileChooser(); System.out.println("1"); chooser.setApproveButtonText("Ok"); chooser.showOpenDialog(null); if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ System.out.println("2"); try{ FileWriter fw = new FileWriter(chooser.getSelectedFile()); chooser.setApproveButtonText("Ok"); //intitulé du bouto System.out.println("3"); BufferedWriter output = new BufferedWriter(fw); String texte = centre.getTextArea()+"\r\n"; output.write(texte+"\r\n"); System.out.println("4"); DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); DefaultMutableTreeNode racine = (DefaultMutableTreeNode) model.getRoot(); System.out.println("5"); int a = racine.getChildCount(); int b; System.out.println("6"); for(int i = 1; i<=a;i++){ System.out.println("7"); node = (DefaultMutableTreeNode)racine.getChildAt(i); output.write(node.toString()); b = node.getChildCount(); for(int j =1;j<=a;j++){ System.out.println("8"); node1 = (DefaultMutableTreeNode)node.getChildAt(j); output.write(node1.toString()); System.out.println("9"); } output.write("\r\n"); System.out.println("10"); } output.flush(); output.close(); System.out.println("fichier enregistré"); } catch(IOException ioe){ System.out.print("Erreur : "); ioe.printStackTrace(); } } }
Un fichier vide est créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [java] 1 [java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException [java] 2 [java] 3 [java] at control.RWFile.save(Unknown Source)4 [java] [java] at control.MyActionListener.actionPerformed(Unknown Source) [java] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
Deuxièmement, j'ai un JOptionPane qui contient un JPanel JOptionPane.showMessageDialog(null,req,"Blabla",JOptionPane.PLAIN_MESSAGE); lui-même contenant trois JTextField de base et un bouton permettant d'ajouter un JTextField à l'optionPane. J'ai ajouté des écouteurs dans ma classe Action Listener voici mon code:
Lorsque j'appuie sur mon bouton rien ne se passe.
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 if(evt.getSource()==centre.getRequete()){ System.out.println("1"); Requete req = new Requete();//Probleme ici and = new ArrayList<String>(); System.out.println("2"); req.addListener(this); System.out.println("3"); if(evt.getSource()==req.getButtonAdd()){ System.out.println("5"); field = new JTextField(); req.add(field); and.add(field.getText()); } JOptionPane.showMessageDialog(null,req,"Faire une requete",JOptionPane.PLAIN_MESSAGE); }
Merci d'avance
Partager