Pages

Exception in thread "main" sujet

jeudi 30 janvier 2014




bonjour,
lors de la compilation, mon prg s'affiche le message suivante:
moi,j'ai rien trouver particulier,quelqu'un peut m'aider svp.

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The type new TreeModelListener(){} must implement the inherited abstract method TreeModelListener.treeNodesRemoved(TreeModelEvent)
arbre cannot be resolved or is not a field

at Fenetre.listRoot(Fenetre.java:70)
at Fenetre.<init>(Fenetre.java:42)
at Fenetre.main(Fenetre.java:160)


Code:


import java.awt.BorderLayout;
import java.awt.ScrollPane;
import java.io.File;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;


public class Fenetre extends JFrame
{
  private JTree arbre;
  private DefaultMutableTreeNode racine;
 
  private DefaultTreeModel model;
 
  public Fenetre()
  {
          this.setSize(200,300);
          this.setLocationRelativeTo(null);
          this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          this.setTitle("JTree");
          listRoot();
          this.setVisible(true);
  }
 
  private void listRoot()
  {
          this.racine=new DefaultMutableTreeNode();
          int count=0;
          for(File file:File.listRoots())
          {
                  DefaultMutableTreeNode lecteur=new DefaultMutableTreeNode(file.getAbsolutePath());
                  try
                  {
                          for(File nom:file.listFiles())
                          {
                            DefaultMutableTreeNode node=new DefaultMutableTreeNode(nom.getName()+"\");
                                lecteur.add(this.listFile(nom,node));
                          }
                  }
                  catch(NullPointerException e)
                  {
                         
                  }
                  this.racine.add(lecteur);
                  }
       
          this.model=new DefaultTreeModel(this.racine);
       
          this.model.addTreeModelListener(new TreeModelListener()
          {
                  /* Méthode appelée lorsqu'un noeud a changé */
                public void treeNodesChanged(TreeModelEvent evt)
                {
                        System.out.println("Changment dans l'arbre");
                        Object[]listNoeuds=evt.getChildren();
                        int[]listIndices=evt.getChildIndices();
                        for(int i=0;i<listNoeuds.length;i++)
                        {
                                System.out.println("Index"+listIndices[i]+", nouvelle valeur:"+listNoeuds[i]);
                        }
                }
         
                /* Méthode appelée lorsqu'un noeud est inséré */
                public void treeNodesInserted(TreeModelEvent event)
                {
                        System.out.println("Un noeud a été inséré!");
                }
               
                /* Méthode appelée lorsqu'un noeud est supprimé */
                public void treeNodesRemouved(TreeModelEvent event)
                {
                        System.out.println("Un noeud a été retiré!");
                }
               
                /* Méthode appelée lorsque la structure d'un noeud a été modifiée */
                public void treeStructureChanged(TreeModelEvent event)
                {
                        System.out.println("Un noeud a été d'un  noeud a changé!");
                }
          });
         
       
          arbre=new JTree();
          arbre.setModel(model).
          arbre.setRootVisible(false);
          arbre.setEditable(true);
          this.getContentPane().add(new JScrollPane(arbre),BorderLayout.CENTER);
          }
 
  private DefaultMutableTreeNode listFile(File file,DefaultMutableTreeNode node)
  {
          int count=0;
          if(file.isFile())
                  return new DefaultMutableTreeNode(file.getName());
          else
          {
                  for(File nom:file.listFiles())
                  {
                          count++;
                          if(count>3)
                          {
                                  DefaultMutableTreeNode subNode;
                                  if(nom.isDirectory())
                                  {
                                          subNode=new DefaultMutableTreeNode(nom.getName()+"\");
                                          node.add(this.listFile(nom,subNode));
                                  }
                                  else
                                  {
                                          subNode=new DefaultMutableTreeNode(nom.getName());
                                  }
                                  node.add(subNode);
                          }
                  }
                  return node;
          }
  }
  public static void main(String[]args)
  {
         
          try
          {
                  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
          }
          catch(InstantiationException e)
          {}
          catch(ClassNotFoundException e)
          {}
          catch(UnsupportedLookAndFeelException e)
          {}
          catch(IllegalAccessException e)
          {}
          Fenetre fen= new Fenetre();
  }
  }






Aucun commentaire:

Enregistrer un commentaire