[英]compilation error in adding an element from a jlist
我正在嘗試將一個Jlist中的元素添加到另一個,如果這是正確的搜索條件,我會發現這個代碼並嘗試了但是它不起作用
ListModel made_model = made_list.getModel(); // 1
Object[] orig_sel = orig_list.getSelectedItems(); // 2
Object[] new_made_model = new Object[made_model.size() + orig_sel.length]; // 3
// this block is 4
int i = 0;
for(;i < made_model.size(); i++)
new_made_model[i] = made_model.getElementAt(i);
for(; i < new_made_model.length; i++)
new_made_model[i] = orig_sel[i - made_model.size());
made_model.setListData(new_made_model); // 5
錯誤就在這一行
made_model.setListData(new_made_model); // 5它告訴我將make_model強制轉換為Jlist,我做了但是在運行該類時,我得到了這個錯誤
javax.swing.JList $ 1無法強制轉換為javax.swing.JList
setListData()
是JList的方法,而不是ListModel的方法。 您無法將ListModel強制轉換為JList。
你的代碼應該是:
madeList.setListData( newMadeModel );
編輯:
而不是使用Arrays創建新模型只需使用DefaultListModel:
DefaultListModel model = new DefaultListModel();
然后,您可以直接將對象添加到模型而不使用索引:
model.addElement(...);
完成后,將模型添加到列表中:
list.setModel( model );
這樣,在使用3陣列的索引時,你不太可能犯錯誤。
如果您需要更多幫助,請接受此答案(因為它是關於編譯錯誤)並使用適當的SSCCE發布新問題以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.