init 16: Correction EDT (event Dispatch Thread) OK
This commit is contained in:
@@ -170,14 +170,18 @@ public class Jeu implements KeyListener, ActionListener{
|
|||||||
|
|
||||||
//propriétés dont on aura besoin pour utiliser NiveauxDataConnect
|
//propriétés dont on aura besoin pour utiliser NiveauxDataConnect
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
// C'est ici qu'on appelle NiveauxDataConnect pour initialiser la connexion à la base de données des niveaux
|
// Initialisation de la connexion aux niveaux HORS de l'EDT (arrière-plan)
|
||||||
//--------------------------------------------------------------------------------
|
// pour éviter de bloquer l'interface lors d'opérations disque/BDD
|
||||||
NiveauxDataConnect niveau = null;
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
niveau = new NiveauxDataConnect();
|
NiveauxDataConnect niveau = new NiveauxDataConnect();
|
||||||
} catch (ClassNotFoundException e) {
|
System.out.println("NiveauxDataConnect initialisé en arrière-plan");
|
||||||
e.printStackTrace();
|
} catch (ClassNotFoundException ex) {
|
||||||
}
|
ex.printStackTrace();
|
||||||
|
} catch (RuntimeException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
|
||||||
|
|
||||||
// Démarrage du timer, qui rythmera l'animation
|
// Démarrage du timer, qui rythmera l'animation
|
||||||
@@ -216,7 +220,8 @@ public class Jeu implements KeyListener, ActionListener{
|
|||||||
this.ecran.partiePerdue = true; // 2. Signaler à l'écran
|
this.ecran.partiePerdue = true; // 2. Signaler à l'écran
|
||||||
this.ecran.repaint(); // 3. Forcer l'affichage du texte
|
this.ecran.repaint(); // 3. Forcer l'affichage du texte
|
||||||
|
|
||||||
GestionBDD.ajouterScore((int)this.score);// enregistrement du score dans la base de donne
|
// Enregistrer le score hors de l'EDT pour ne pas bloquer l'UI
|
||||||
|
new Thread(() -> GestionBDD.ajouterScore((int)this.score)).start();// enregistrement du score dans la base de donne
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class bddInit {
|
|||||||
// Si le fichier de la base de données n'existe pas, on le crée en le copiant depuis le .jar
|
// Si le fichier de la base de données n'existe pas, on le crée en le copiant depuis le .jar
|
||||||
if(!dbFile.exists()){
|
if(!dbFile.exists()){
|
||||||
// Récupération de la BDD du .jar ou "main/ressources" dans le projet
|
// Récupération de la BDD du .jar ou "main/ressources" dans le projet
|
||||||
InputStream is = bddInit.class.getResourceAsStream("/" + dbFileName);
|
InputStream is = bddInit.class.getResourceAsStream("/"+dbFileName);
|
||||||
// Si le fichier est introuvable dans le .jar, on affiche une erreur
|
// Si le fichier est introuvable dans le .jar, on affiche une erreur
|
||||||
if (is == null) {
|
if (is == null) {
|
||||||
throw new FileNotFoundException("La base de données " + dbFileName + " est introuvable dans le .jar");
|
throw new FileNotFoundException("La base de données " + dbFileName + " est introuvable dans le .jar");
|
||||||
|
|||||||
Reference in New Issue
Block a user