Bonjour à tous,
J'ai une question un peu philosophique...
Sans être particulièrement un spécialiste de Java, j'ai fait une application qui génère une base de données à partir de fichiers textes assez importants.
Cette application étant vouée à être utilisée par des non-informaticiens, j'ai fait une petite interface avec Swing. Dans le main j'appelle le constructeur de ma classe ihm puis les différantes fonctions "techniques" (situées dans des classes spécifiques) sont appelées en fonctions des actions de l'utilisateur sur l'interface.
Le problème est que le parsing du texte ajouté à la création de la bdd prend pas mal de temps et que je dois afficher une barre de progression.
Et là je suis vraiment embêté en terme de conception : l'information à afficher (la progression) est dans les classes "techniques" qui ne sont pas sensées appeler l'ihm.
Pour l'instant ma solution pour éviter d'appeler la màj de la barre à partir de la fonction technique de traitement est de passer par une fonction dans la classe Main qui s'occupe d'appeler l'ihm, ça change pas grand chose mais j'ai un peu moins mauvaise conscience.
Après j'ai bien eu quelques idées un peu sioux du genre mettre le niveau de progression dans une variable volatile et la choper avec un timer dans l'interface mais ça me parait démesurément compliqué et finalement pas beaucoup plus propre.
Il s'agit d'une petite application sans ambition extraordinaire mais j'aimerai qu'on puisse facilement la reprendre/modifier (si tout se passe bien elle va passer en open source) donc je ne voudrais pas qu'un problème de conception (en plus lié à un élément mineur) décourage d'hypothétiques bonnes volontés.
Voilà, tout ça pour dire que je me pose une question que des milliers voir des millions de développeurs ont du se poser avant moi et que je ne trouve pas de réponse satisfaisante sur le net..
Si quelqu'un a une idée ou a déjà développer ce genre de chose, je suis preneur de vos conseils.
Partager