Bonjour à tous,
Je rencontre un petit soucis avec un JFilechosser .
Je developpe sous eclipse et sous linux.
Le problème est je pense lié à linux mais je n'arrive pas à voir ou exactement.
Voici mon 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
 
         JButton FileChooser=new JButton("Parcourir");
         FileChooser.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent ae) {
        	 JFrame parent=new JFrame();
        	 JFileChooser chooser = new JFileChooser("/" );
        	 int returnVal = chooser.showOpenDialog(parent);
        	    if(returnVal == JFileChooser.APPROVE_OPTION) {
        	       System.out.println("You chose to open this file: " +
        	            chooser.getSelectedFile().getName());
        	    }
 
 
 
         }
et voici l'exception que cela me génère lorsque je me balade dans l'arborescence qui n'est d'ailleurs pas correctement affichée dans le filechooser:
Exception during event dispatch:
java.lang.NullPointerException
at java.io.File.<init>(libgcj.so.7)
at java.io.File.<init>(libgcj.so.7)
at java.io.File.performList(libgcj.so.7)
at java.io.File.listFiles(libgcj.so.7)
at javax.swing.filechooser.FileSystemView.getFiles(libgcj.so.7)
at javax.swing.plaf.basic.BasicDirectoryModel.validateFileCache(libgcj.so.7)
at javax.swing.plaf.metal.MetalFileChooserUI.rescanCurrentDirectory(libgcj.so.7)
at javax.swing.plaf.metal.MetalFileChooserUI$MetalFileChooserPropertyChangeListener.propertyChange(libgcj.so.7)
at javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(libgcj.so.7)
at javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(libgcj.so.7)
at javax.swing.JComponent.firePropertyChange(libgcj.so.7)
at javax.swing.JFileChooser.setCurrentDirectory(libgcj.so.7)
at javax.swing.plaf.basic.BasicFileChooserUI$GoHomeAction.actionPerformed(libgcj.so.7)
at javax.swing.AbstractButton.fireActionPerformed(libgcj.so.7)
at javax.swing.AbstractButton$1.actionPerformed(libgcj.so.7)
at javax.swing.DefaultButtonModel.fireActionPerformed(libgcj.so.7)
at javax.swing.DefaultButtonModel.setPressed(libgcj.so.7)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(libgcj.so.7)
at java.awt.Component.processMouseEvent(libgcj.so.7)
at java.awt.Component.processEvent(libgcj.so.7)
at java.awt.Container.processEvent(libgcj.so.7)
at java.awt.Component.dispatchEventImpl(libgcj.so.7)
at java.awt.Container.dispatchEventImpl(libgcj.so.7)
at java.awt.Component.dispatchEvent(libgcj.so.7)
at java.awt.LightweightDispatcher.handleEvent(libgcj.so.7)
at java.awt.Container.dispatchEventImpl(libgcj.so.7)
at java.awt.Window.dispatchEventImpl(libgcj.so.7)
at java.awt.Component.dispatchEvent(libgcj.so.7)
at java.awt.EventQueue.dispatchEvent(libgcj.so.7)
at java.awt.EventDispatchThread.run(libgcj.so.7)
lorsque je met
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
JFileChooser chooser = new JFileChooser();
//donc sans préciser que je met positionne sur "/"
alors j'obtiens l'exception dès l'instanciation du jfillechooser:
Exception during event dispatch:
java.lang.NullPointerException
at java.io.File.<init>(libgcj.so.7)
at java.io.File.<init>(libgcj.so.7)
at java.io.File.performList(libgcj.so.7)
at java.io.File.listFiles(libgcj.so.7)
at javax.swing.filechooser.FileSystemView.getFiles(libgcj.so.7)
at javax.swing.plaf.basic.BasicDirectoryModel.validateFileCache(libgcj.so.7)
at javax.swing.plaf.metal.MetalFileChooserUI.rescanCurrentDirectory(libgcj.so.7)
at javax.swing.plaf.metal.MetalFileChooserUI$MetalFileChooserPropertyChangeListener.propertyChange(libgcj.so.7)
at javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(libgcj.so.7)
at javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(libgcj.so.7)
at javax.swing.JComponent.firePropertyChange(libgcj.so.7)
at javax.swing.JFileChooser.setCurrentDirectory(libgcj.so.7)
at javax.swing.JFileChooser.<init>(libgcj.so.7)
at com.cultureetgout.javamailer.IHM$2.actionPerformed(IHM.java:71)
at javax.swing.AbstractButton.fireActionPerformed(libgcj.so.7)
at javax.swing.AbstractButton$1.actionPerformed(libgcj.so.7)
at javax.swing.DefaultButtonModel.fireActionPerformed(libgcj.so.7)
at javax.swing.DefaultButtonModel.setPressed(libgcj.so.7)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(libgcj.so.7)
at java.awt.Component.processMouseEvent(libgcj.so.7)
at java.awt.Component.processEvent(libgcj.so.7)
at java.awt.Container.processEvent(libgcj.so.7)
at java.awt.Component.dispatchEventImpl(libgcj.so.7)
at java.awt.Container.dispatchEventImpl(libgcj.so.7)
at java.awt.Component.dispatchEvent(libgcj.so.7)
at java.awt.LightweightDispatcher.handleEvent(libgcj.so.7)
at java.awt.Container.dispatchEventImpl(libgcj.so.7)
at java.awt.Window.dispatchEventImpl(libgcj.so.7)
at java.awt.Component.dispatchEvent(libgcj.so.7)
at java.awt.EventQueue.dispatchEvent(libgcj.so.7)
at java.awt.EventDispatchThread.run(libgcj.so.7)
Quelqu'un aurait-il une idée?
ca doit surement être liée à:libgcj.so.7
22:26 davy@simplet /usr/lib% ll libgcj*
lrwxrwxrwx 1 root root 18 2006-08-23 19:20 libgcjawt.so.7 -> libgcjawt.so.7.0.0
-rw-r--r-- 1 root root 3,9K 2006-07-30 18:04 libgcjawt.so.7.0.0
lrwxrwxrwx 1 root root 15 2006-08-23 19:20 libgcj.so.7 -> libgcj.so.7.0.0
-rw-r--r-- 1 root root 21M 2006-07-30 18:04 libgcj.so.7.0.0
j'ai fait ensuite un chmod 777 car je me suis dit que ca pouvait être un pb de droit mais non
Petite précision pour les initiés debian je suis en etch kernel 2.6.15
Merci pour votre aide