Je sais que la question de savoir comment ajouter un élément à un jList a été posée. Pourtant ... c'est un peu différent car j'utilise le générateur d'interface graphique NetBeans. Il instancie mes deux listes en tant que AbstractListModels. Ensuite, je ne peux pas sembler ajouter un élément d'une liste à l'autre, puis supprimer cet élément de la première liste.Ajouter/Supprimer Swing jList (construit avec le constructeur GUI Netbeans)
Le JList:
colors1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
colors1.setModel(new javax.swing.AbstractListModel<String>() {
String[] strings = { "red", "yellow", "green", "blue", " ", " ", " ", " ", " " };
public int getSize() { return strings.length; }
public String getElementAt(int i) { return strings[i]; }
});
jScrollPane1.setViewportView(colors1);
colors2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
colors2.setModel(new javax.swing.AbstractListModel<String>() {
String[] strings = { "black", "white", "gray", "brown", " ", " ", " " };
public int getSize() { return strings.length; }
public String getElementAt(int i) { return strings[i]; }
});
jScrollPane2.setViewportView(colors2);
Ma tentative de jeter à DefaultListModel et ajouter un élément (ont pas obtenu à supprimer encore).
private void addColorsActionPerformed(java.awt.event.ActionEvent evt) {
DefaultListModel list1 = (DefaultListModel) colors1.getModel();
DefaultListModel list2 = (DefaultListModel) colors2.getModel();
list2.addElement(colors1.getSelectedValue());
//Haven't actually attempted this yet but if I had would look like.
//list1.removeElement(colors1.getSelectedValue());
}
1- N'utilisez pas l'éditeur de formulaire Netbeans ou 2- Ne pas pré-remplir le modèle avec des valeurs, faites-le après la méthode 'initComponent' et utilisez un' DefaultListModel' – MadProgrammer
3- Utilisez l'option "code" pour injecter votre propre code dans le processus de création; 4- Cliquez sur le bouton "..." dans la propriété "modèle", sélectionnez "Code personnalisé" dans la liste déroulante "Définir ... propriété du modèle en utilisant" et utilisez votre propre code – MadProgrammer