我有JList
它使用ListModel
而不是DefaultListModel。我現在不想改變這種類型,因爲我在很多地方都使用它。我想從同一個列表中刪除一個選定的項目。我該怎麼做呢?我正在使用下面的代碼,但它不適合我。使用ListModel作爲模型類型從JList中刪除一個項目
made_list.removeSelectionInterval(
made_list.getSelectedIndex(), made_list.getSelectedIndex());
- 編輯 -
我使用下面的代碼,當我創建我的列表:
made_list = new javax.swing.JList();
made_list.setModel(new DefaultListModel());
然後在JButton
鼠標點擊事件,我使用下面的代碼當按下按鈕時,從列表中刪除所選項目
private void removeActionPerformed(java.awt.event.ActionEvent evt) {
//made_list.removeSelectionInterval(made_list.getSelectedIndex(),
//made_list.getSelectedIndex());
System.out.println(made_list.getModel());
DefaultListModel model = (DefaultListModel)made_list.getModel();
model.remove(1);
}
我很抱歉,但我使用NetBeans繪製列表組件到面板上。當我使用getModel()我得到[email protected],當我試圖將它轉換爲DefaultListModel我收到線程「AWT-EventQueue-0」中的錯誤異常java.lang.ClassCastException:javax.swing .JList $ 4不能轉換爲javax.swing.DefaultListModel – Deepak 2011-04-25 04:07:10
重新格式化的代碼;編輯修改的;如果不正確請回復。如果你不使用'DefaultListModel',那麼'ClassCastException'是有道理的。您應該可以將其轉換爲您的自定義模型。 – trashgod 2011-04-25 04:44:44
請參閱我最後回答的編輯,包括我的SSCCE版本。 – 2011-04-25 04:48:26