Bonjour
J'ai une class structurée de la façon suivante:
public class TableChart extends JFrame {
JComboBox list;
public TableChart() {
super("...");
Container container = getContentPane();
container.setLayout(new GridLayout(2,2,5,5));
updateList();
container.add(list);
}
public void updateList() {
list = new JComboBox();
Object items[] = new Object[5];TableModelJS or use a setItems
method also to update the list
for (int i = 0; i < 5; i++) {
items[i] = ...;
list.addItem(items[i]);
}
repaint();
}
}
Problème: quand j'appelle cette m"thode plus tard, les données ont
changées, mais list n'est pas reste inchangé.
J'ai essayé également:
public void updateList() {
Object items[] = new Object[5];
for (int i = 0; i < 5; i++) {
items[i] = ...;
}
list = new JComboBox(items);
repaint();
}
Mais cela ne donne rien de mieux.
Je récupréère bien les bonnes valeurs dans items[i] (testé avec un
System.out.prinln).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier Tarrago
"julien" a écrit dans le message de news:417d2a24$0$29494$
Bonjour J'ai une class structurée de la façon suivante:
public class TableChart extends JFrame { JComboBox list;
public TableChart() { super("...");
Container container = getContentPane();
container.setLayout(new GridLayout(2,2,5,5));
updateList(); container.add(list); }
public void updateList() { list = new JComboBox();
Dans la fonction updateList, tu crée un nouveau combobox et c'est à ce nouveau combobox que tu ajoutes un item. Il faudrait plutôt l'ajouter à celui qui est affiché... if (list == null) list = new JComboBox();
Object items[] = new Object[5];TableModelJS or use a setItems method also to update the list for (int i = 0; i < 5; i++) { items[i] = ...; list.addItem(items[i]); } repaint(); } }
Problème: quand j'appelle cette m"thode plus tard, les données ont changées, mais list n'est pas reste inchangé.
J'ai essayé également:
public void updateList() {
Object items[] = new Object[5]; for (int i = 0; i < 5; i++) { items[i] = ...; } list = new JComboBox(items); repaint(); }
Mais cela ne donne rien de mieux.
Je récupréère bien les bonnes valeurs dans items[i] (testé avec un System.out.prinln).
Pourquoi list n'est pas actualisé à l'écran?
Merci Julien
"julien" <julien@sobrier.net> a écrit dans le message de
news:417d2a24$0$29494$626a14ce@news.free.fr...
Bonjour
J'ai une class structurée de la façon suivante:
public class TableChart extends JFrame {
JComboBox list;
public TableChart() {
super("...");
Container container = getContentPane();
container.setLayout(new GridLayout(2,2,5,5));
updateList();
container.add(list);
}
public void updateList() {
list = new JComboBox();
Dans la fonction updateList, tu crée un nouveau combobox et c'est à ce
nouveau combobox que tu ajoutes un item. Il faudrait plutôt l'ajouter à
celui qui est affiché...
if (list == null) list = new JComboBox();
Object items[] = new Object[5];TableModelJS or use a setItems
method also to update the list
for (int i = 0; i < 5; i++) {
items[i] = ...;
list.addItem(items[i]);
}
repaint();
}
}
Problème: quand j'appelle cette m"thode plus tard, les données ont
changées, mais list n'est pas reste inchangé.
J'ai essayé également:
public void updateList() {
Object items[] = new Object[5];
for (int i = 0; i < 5; i++) {
items[i] = ...;
}
list = new JComboBox(items);
repaint();
}
Mais cela ne donne rien de mieux.
Je récupréère bien les bonnes valeurs dans items[i] (testé avec un
System.out.prinln).
"julien" a écrit dans le message de news:417d2a24$0$29494$
Bonjour J'ai une class structurée de la façon suivante:
public class TableChart extends JFrame { JComboBox list;
public TableChart() { super("...");
Container container = getContentPane();
container.setLayout(new GridLayout(2,2,5,5));
updateList(); container.add(list); }
public void updateList() { list = new JComboBox();
Dans la fonction updateList, tu crée un nouveau combobox et c'est à ce nouveau combobox que tu ajoutes un item. Il faudrait plutôt l'ajouter à celui qui est affiché... if (list == null) list = new JComboBox();
Object items[] = new Object[5];TableModelJS or use a setItems method also to update the list for (int i = 0; i < 5; i++) { items[i] = ...; list.addItem(items[i]); } repaint(); } }
Problème: quand j'appelle cette m"thode plus tard, les données ont changées, mais list n'est pas reste inchangé.
J'ai essayé également:
public void updateList() {
Object items[] = new Object[5]; for (int i = 0; i < 5; i++) { items[i] = ...; } list = new JComboBox(items); repaint(); }
Mais cela ne donne rien de mieux.
Je récupréère bien les bonnes valeurs dans items[i] (testé avec un System.out.prinln).
Pourquoi list n'est pas actualisé à l'écran?
Merci Julien
julien
Xavier Tarrago wrote:
public void updateList() { list = new JComboBox();
Dans la fonction updateList, tu crée un nouveau combobox et c'est à ce nouveau combobox que tu ajoutes un item. Il faudrait plutôt l'ajouter à celui qui est affiché... if (list == null) list = new JComboBox();
Argh, j'arrete pas de faire ce type d'erreur! Promis, je ferais plus attention la prochaine fois.
Merci Julien
Xavier Tarrago wrote:
public void updateList() {
list = new JComboBox();
Dans la fonction updateList, tu crée un nouveau combobox et c'est à ce
nouveau combobox que tu ajoutes un item. Il faudrait plutôt l'ajouter à
celui qui est affiché...
if (list == null) list = new JComboBox();
Argh, j'arrete pas de faire ce type d'erreur! Promis, je ferais plus
attention la prochaine fois.
public void updateList() { list = new JComboBox();
Dans la fonction updateList, tu crée un nouveau combobox et c'est à ce nouveau combobox que tu ajoutes un item. Il faudrait plutôt l'ajouter à celui qui est affiché... if (list == null) list = new JComboBox();
Argh, j'arrete pas de faire ce type d'erreur! Promis, je ferais plus attention la prochaine fois.