kokojavafr
Messages postés23Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention12 septembre 2005
-
27 août 2005 à 18:38
kokojavafr
Messages postés23Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention12 septembre 2005
-
30 août 2005 à 17:03
Bonjour tout le monde!
Voila, jai un JFileChooser pour ouvrir un fichier, mais une fois que je
clique sur ouvrir, ou annuler, la fenêtre du JFileChooser se ferme,
mais mon application plante litérallement : elle freeze, et je suis
obligé de l'arreter par un super ctrl alt suppr ...
Voici le code du JFileChooser :
public class ihmOuvrirFichier extends javax.swing.JFrame
hmarchal
Messages postés19Date d'inscriptionjeudi 28 juillet 2005StatutMembreDernière intervention27 octobre 2006 30 août 2005 à 11:23
Slt, je ne me suis pas plonger ds ton code, mais personellement G créé un interface graphique en m'inspirant d'un code source sur ce site même (cf Andrew's Downloader).
Il ya un bout du code qui utilise un JFileChoser dc ça devrait t'aider. Voici le code en question :
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class Downloader extends JFrame{
JProgressBar progress;
int maxLabel = 15;
JTextField speed, sizeL;
int bytesRead;
boolean running = false;
private File destDir;
private String prefsFile = "prefs";
private void setSpeed(float sp){
setSpeed(sp + " kb/s");
}
private void setSize(int i){
String s;
if(i < 1024){
s = i + " bytes";
}
else if(i < 1048576){
s = ((float)i/1024)+ " kilobytes";
}
else{
s = ((float)i/ 1048576) + " magabytes";
}
sizeL.setText(s);
}
private void setSpeed(String sp){
speed.setText(sp);
}
public int getChosen(JFileChooser chooser){
return chooser.showOpenDialog(this);
}
public void download(final URL location){
new Thread(
new Runnable(){
public void run(){
try{
URLConnection connection = location.openConnection();
int sourceLen = connection.getContentLength();
File dest = selectFileName(location);
if(dest != null){
progress.setMinimum(0);
int max = 100;
if(sourceLen != -1){
max = sourceLen;
}
progress.setMaximum(max);
progress.setValue(0);
progress.setStringPainted(true);
progress.setToolTipText("Downloading " + location);
InputStream is = connection.getInputStream();