J'ai une application JavaFX avec un certain code comme ça ...javafx ne repeigne pas l'étiquette tant que la méthode n'est pas terminée, pourquoi?
public class MainListener extends EventListener{
override public function event (arg0 : String) : Void {
statusText.content = arg0;
}
}
statusText est défini comme celui-ci ...
var statusText = Text {
x: 30
y: stageHeight - 40
font: Font { name: "Bitstream Vera Sans Bold" size: 10 }
wrappingWidth: 420
fill: Color.WHITE
textAlignment: TextAlignment.CENTER
content: "Status: awaiting DBF file."
};
J'ai aussi un autre Javacode qui est des données de charge, beaucoup comme ça ..
public ArrayList<CustomerRecord> read(EventListener listener) {
ArrayList<CustomerRecord> listOfCustomerRecords = new ArrayList<CustomerRecord>();
listener.event("Status: Starting read");
// ** takes a while...
List<Map<String, CustomerField>> customerRecords = new Reader(file).readData(listener);
// ** long running method over.
listener.event("Status: Loaded all customers, count:" + listOfCustomerRecords.size());
return listOfCustomerRecords;
}
maintenant, alors que la dernière méthode est dans son appel longue course, je pense voir mon statusText mis à jour pour avoir « Statut: Démarrage lire », mais son ne fonctionne pas. C'est seulement lorsque la méthode read() renvoie que le texte est mis à jour.
S'il s'agissait d'un fichier Java «direct», je supposerais que le travail de longue durée monopolisait le processeur, ou que le statusText avait besoin d'être repaint().
Quelqu'un peut-il me donner des idées?
Merci Jeff Porter
merci! beaucoup apprci. –