lesfousduvolant313
Messages postés2Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention 6 novembre 2006
-
6 nov. 2006 à 13:49
lesfousduvolant313
Messages postés2Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention 6 novembre 2006
-
6 nov. 2006 à 15:28
Bonjour à tous!
Voilà j'ai un problème :
J'ai une JcomboBox qui, lorsque l'on clic sur un bouton, affiche une liste de noms. Ces noms correspondent à différentes instances d'une même classe. Jusque là tout va bien. Mais j'aimerai pouvoir afficher les caractéristiques de ces noms (définis dans ma classe) dans des champs textes mis en place. Mon problème se situe dans le fait que ces items n'ont pas de noms puisqu'étant rappatriés dans ma combobox au moyen d'une boucle for. Comment faire à partir de là pour remplir mes champ lorsque je clic sur un de ces items....
Bravo à celui qui aura compris ma question car en la relisant je m'y perds un peu.... D'autant plus que je débute en java, et en interface graphique encore plus!!!
Si jamais y a besoin de précisions n'hésitez pas.
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 6 nov. 2006 à 15:24
Salut,
baaaaaa j'ai pas tout compris mais bon si je ne me trompe pas trop sur ton prob le code ci-dessous devrai répondre à ta question sinon baaaa reformule :P
public static void main(String[] args) {
final JFrame f = new JFrame();
f.setSize(300, 300);
f.setLocationRelativeTo(null);
//initialise le contenu du combo
Vector vecMyData = new Vector();
for(int i = 1; i <= 10; i++)
vecMyData.add(new MyData("Champ " + i, "Mon champs object n°" + i));
//init du combo
final JComboBox cb = new JComboBox(vecMyData.toArray());
//init de la liste
final JList list = new JList(new DefaultListModel());
//ici je ne gere que la simple selection
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setPreferredSize(new Dimension(100, 100));
//init du listener du combo
cb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//on recupe l'objet mydata et on le met dans la liste
MyData md = (MyData)cb.getSelectedItem();
if(md != null){
DefaultListModel model = (DefaultListModel)list.getModel();
model.addElement(md);
}
}
});
//init du listener de la list
list.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
//on recup la selection de la liste et on affiche dans un JOptionPane
MyData md = (MyData)list.getSelectedValue();
if(md != null){
JOptionPane.showMessageDialog(f,
"<html>Label : " + md.getLabel() +
"
Object : " + md.getObject() + "</html>", "Info",
JOptionPane.INFORMATION_MESSAGE);
}
}
});