Bonjour à tous,
J'ai fait un petit logiciel qui utilise la librairie RxTx. Tout fonctionne parfaitement (listing des ports disponibles, ouverture, envoi et réception des données).
J'aimerais maintenant faire un rafraîchissement automatique de ma liste de ports COM disponible, c'est-à-dire que sur ma fenêtre graphique il y a une liste qui contient les ports disponibles, et j'aimerais qu'elle se mettre à jour lorsque je branche ou débranche un périphérique USB/Série.
J'ai tenté une première approche: un timer rafraichit toutes les secondes en lançant la méthode getPortIdentifier et rafraichit la liste....
-> Problème: si je sélectionne un champ dans ma liste, une seconde plus tard, l'affichage se rafraichit et je perds donc le champ que j'ai sélectionné donc c'est une mauvaise méthode.
J'ai ensuite testé de parcourir les ports disponibles et de les mettre dans deux objets JListFilesModel pour ensuite les comparer, détecter un changement, et s'il y a changement, rafraichir l'affichage, déconnecter proprement le port qui était ouvert et qui a peut-être disparu... mais j'ai l'impression que le if (jListFilesModelOld == jListFilesModelNew) ne marche pas ...
J'ai une dernière idée que je n'ai pas encore mise en place parce que je voulais votre avis, si je parcours les ports et que j'ajoute chaque port dans une chaine par un port.getname() et que je compare ensuite les chaines ? Ça devrait mieux marcher ?
Sinon juste au niveau des listes en mode "objet graphique" dans un Frame, pourquoi ne peut on pas ajouter direct en utilisant l'objet graphique ? Et pourquoi faut-il passer par des JListFilesModel ?
Merci d'avance pour votre aide.
Partager