簡體   English   中英

從jlist添加元素時出現編譯錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM