Bonjour,
Je réalise un petit "atelier maison" qui consiste à envoyer des instructions à des équipements réseau. J'assure la partie communication SSH avec un coup de Python qui sera appelé plus tard (mais là n'est pas le souci, c'est juste pour le contexte :p ).
Afin de rendre plus convivial cet environnement, j'ai souhaité développer une interface en Java. Je me suis appuyé sur Swing.
La situation est la suivante :
- J'ai un fichier contenant les information sur les équipements réseaux ~ adresse et mdp (que le lis)
- Je souhaite créer une ligne dans mon interface par équipement contenu dans le fichier
- chaque ligne doit être assortie d'une checkbox afin d'en permettre la selection (et donc d'un listener associé)
j'arrive à mettre ça en place "graphiquement" parlant mais pas "fonctionnellement". Je m'explique : Je réalise une boucle pour la création de tous ces boutons.
Ma classe CheckBox est on ne peut plus simpliste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for(int i = 1; i<= MonFichier.getLastRowNum(); i++){ MaCheckBox = new CheckBox(HostnameList.get(i).toString()); MainPanel.add(MaCheckBox ); }
Mon souci : En procédant de la sorte, chaque CheckBox est "écrasée" à chaque occurrence de la boucle. du coup, je n'arrive pas à obtenir d'ID unique celles ci. Du coup impossible d'y associer un listener spécifique avec lequel travailler. N'arrivant pas à créer de nom dynamiquement pour mes CheckBox je me retrouve bien embêté !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class CheckBox extends JCheckBox { private String name; public CheckBox(String name) { this.name = name; this.setName(name); } }
j'ai essayé d'implémenter une Factory mais ça ne semble pas pour autant solver ce souci d'intégrité.
j'ai parcouru les différentes sections du forum sans pour autant trouver de cas similaire (ou alors j'ai mal cherché ce qui n'est pas exclu !).
Du coup, ma question : est ce que j'emploie la bonne méthode pour réaliser ce que je souhaite faire ou suis-je dans le faux ?
J'ajoute que je ne suis pas une bête de compet' non plus en Java et que si mes notions peuvent paraîtres sommaires, elles sont ce qu'elles sont !
Je suis ouvert à toute question spécifique sur le sujet !
Merci d'avance !
Partager