我在Netbeans建立了一个Java项目。 我有一个表单,在表单中有一个jList,其中填充了一个对象(收藏夹)。 我也有一个按钮,我想按一下按钮删除jList中的选定项目。
我正在尝试以下代码,但出现错误。
1-> Check that your CA server is getting started with correct pem file.
2-> Correct _sk (private key)
我收到以下错误:
线程“ AWT-EventQueue-0”中的异常java.lang.ClassCastException:无法将java.lang.String强制转换为model.FavoriteList 在my.mymoviesamn.FavoriteTestForm.jButton1ActionPerformed(FavoriteTestForm.java:104) 在my.mymoviesamn.FavoriteTestForm.access $ 000(FavoriteTestForm.java:15) 在my.mymoviesamn.FavoriteTestForm $ 1.actionPerformed(FavoriteTestForm.java:51) 在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
出什么问题了? 当我从jList中选择一个项目时,我想要获取该对象(“收藏夹”)并将其删除。 问题是我无法从jList中获取该对象。
答案 0 :(得分:1)
Favorite item = (Favorite)lModel.getElementAt(selectedIndex);
您假定模型包含Favorite
个对象。它不。它包含字符串。
因此,代码中填充该模型的其他部分做错了事。
答案 1 :(得分:0)
您需要创建单独的Empty List
并在其中插入选定的对象,然后再将其删除。
随着ClassCastException
的到来,您需要检查ListModel下itms的类型是什么,它必须是String
,这就是为什么您会收到此错误的原因。
您应该像下面这样自定义ListModel:
class ListModel extends AbstractListModel {
private Favorite mfavorite;
public ListModel(Favorite favorite) {
mfavorite = favorite;
}
public Favorite getFavorite() {
return mfavorite;
}
public Object getElementAt(Favorite favorite) {
return favorite;
}
}