java - JList.getModel() ClassCastException 异常

标签 java swing jlist

当我调用 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/

相关文章:

java - 将 mongodb 查询结果转换为 java 中的数据模型类

java synchronized on 方法不工作?

java - 在JTable中添加3D效果

Java swing 菜单无法正常显示

java - 哪个 Swing 组件适合此设计?

Java,文件上传后更新Jlist

java - Java Plug-In 小程序选项中,jar "pre-loading"是做什么用的?

java - 用Java创建一个漂亮的 ListView

java - 如何在 JList 中动态地使单行加粗?

java - 显示循环读取的第一个图像