nataS22
Messages postés66Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention28 février 2005
-
27 juil. 2004 à 17:45
wargre
Messages postés649Date d'inscriptionmardi 8 juin 2004StatutMembreDernière intervention 9 septembre 2004
-
28 juil. 2004 à 11:27
Salut,
Il se trouve que maintenant j'arrive à faire fonctionner ce bout de code à peu près correctement. En effet j'ai un problème à l'affichage. CAD que ma fenetre s'affiche en noir avec le titre et que ma barre de progression et mon JLable ne s'affiche qu'une fraction de seconde avant que mon thread ( si on peut l'appeler ainsi ) ne se ferme.
J'ai déjà eu ce problème avec le JLabel de ma barre d'état et je pense que cela viendrait de mes fonctions de la classe Carte. Pourtant je créé toutes mes instance de classe avant de lancer mes méthode de communication avec la carte puisque celles ci semblent bloquantes.
Mais ca bloque quand meme.
Si ça interresse quelqu'un de se pencher sur le PB. moi ça fait déjà deux semaines que j'ai planté dessus.
Voici la méthode de la classe Carte dans laquelle j'ai fait mes test pour le thread. Celle ci n'est normalement pas bloquante. alors ??
/**
* Méthode d'initialisation des parametres d'une carte en fonction du fichier Config.cfg
*/
private void initParamCarte() {
String param = "";
String type = "";
String nom = "";
maBarre = new Thread ( new BarreProgression ( maFrame, this, "Initialisation " + this.ourIp ));
maBarre.start();
indexParamCarte = 0;
// Recherche les ligne du fichier config.sys afin de trouver celle qui commencent les données qui l'interresse.
// Lit le fichier de la premiere ligne jusqu'à la dernière.
for ( int i = 0 ; i < config.endOfFile() ; i++ ){
param = config.lireLigne ( i );
val = ( (int) ( ( ( double ) 100 / config.endOfFile() ) * ( i + 1 )));
// System.out.println ( "Valeur origine : " + config.endOfFile() + ", valeur de i : " + i );
// Si la ligne correspond à une ligne Type
if ( param.indexOf ( "Type" ) != -1 ){
type = param.substring ( param.indexOf ( ":" ) + 3, param.indexOf( ";" ) - 2 );
}
// Si la ligne correspond à une ligne Param et que Type à été trouvé aussi
else if ( param.indexOf ( "Param" ) != -1 && !type.equals( "" )){
nom = param.substring ( param.indexOf ( ":" ) + 3, param.indexOf( ";" ) - 2 );
// Création d'un parametre
paramCarte [ indexParamCarte++ ] = new Parametres ( nom, "", type );
}
}
// System.out.println ( "Parametres de la carte à l'adresse : " + ourIp + "\n" + toString());
}