当我调用 JList<String>.getModel()
并将其转换为 DefaultListModel<String>
它给了我这个异常(exception)。
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JList$4 cannot be cast to javax.swing.DefaultListModel
抛出它的代码:
private JList<String> list = new JList<String>();
((DefaultListModel<String>) list.getModel()).addElement(...);
虽然不是每次都这样做。大多数时候它工作得很好,但其他时候它会抛出这个异常。我不明白为什么会这样。我能做些什么来阻止这种情况发生吗?
最佳答案
我遇到过这个问题。我发现了这个简单的解决方法:
//----instantiation----
JList mList = new JList();
mList.setModel(new DefaultListModel());
/*---- do whatever you want---- */
//Retain it wherever you want with
DefaultListModel model = (DefaultListModel)mList.getModel();
关于java - JList.getModel() ClassCastException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375115/