0
我知道如何將元素添加到jList的問題已被問到。然而...這與我使用NetBeans GUI構建器有點不同。它將我的兩個列表實例化爲AbstractListModels。然後,我似乎無法將一個元素從一個列表添加到另一個列表,然後從第一個列表中刪除該元素。添加/刪除Swing jList(使用Netbeans GUI構建器構建)
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);
我試圖轉換爲defaultlistmodel和添加元素(還沒有得到去除還)。
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-不要使用Netbeans表單編輯器或者2-不要使用值預填充模型,在initComponent方法之後執行並使用DefaultListModel – MadProgrammer
3-使用「代碼」選項將自己的代碼注入創建過程; 4-在「model」屬性中單擊「...」按鈕,從「Set ... model property」中使用「combobox」選擇「Custom code」並注入自己的代碼 – MadProgrammer