Salut,
Ombitious_Developper> je suis pas vraiment ok avec toi quand tu conseille de refaire un fenetre ....
liquideshark> voici un exemple de ce que tu veux faire :
import java.awt.Dimension;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.FileInputStream;
import java.util.Scanner;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
public class FilePreview extends JTabbedPane implements PropertyChangeListener{
private static final long serialVersionUID = 4536388136749661130L;
private JTextArea txtPreview = null;
private JFileChooser chooser = null;
public FilePreview(JFileChooser chooser){
setPreferredSize(new Dimension(250, 60));
add("Navigation", new JScrollPane(txtPreview = new JTextArea()));
add("Find Files", new JPanel());
//ptite configuration
txtPreview.setWrapStyleWord(true);
txtPreview.setLineWrap(true);
this.chooser = chooser;
this.chooser.addPropertyChangeListener(this);
}
public void propertyChange(PropertyChangeEvent e) {
String prop = e.getPropertyName();
if(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY.equals(prop)){
File file = (File) e.getNewValue();
if(file == null){
txtPreview.setText("");
return;
}
try {
Scanner sc = new Scanner(new FileInputStream(file));
String nl = System.getProperty("line.separator");
while(sc.hasNext())
txtPreview.append(sc.nextLine() + nl);
sc.close();
} catch (Exception e1) {
e1.printStackTrace();
txtPreview.setText(e1.getMessage());
}
}else{
txtPreview.setText("");
}
}
public static void main(String[] args) {
JFileChooser chooser = new JFileChooser(".");
chooser.setAccessory(new FilePreview(chooser));
chooser.showOpenDialog(null);
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
WORA