![](/img/trans.png)
[英]How to resolve this error “java.lang.ClassCastException: javax.swing.JList$3 cannot be cast to javax.swing.DefaultListModel”
[英]Java Swing class cannot be cast into DefaultListModel
我正在使用Swing进行项目,并且具有以下事件处理程序:
private void txtInputKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == ENTER) {
DefaultListModel listModel = (DefaultListModel) lFrequencyTable.getModel();
listModel.removeAllElements();
ArrayList<FrequencyChar> table =
engine.computeFrequencyTable(txtInput.getText());
for (FrequencyChar f: table) {
listModel.addElement(f.character);
}
}
}
Netbeans会自动生成很多代码,这就是为什么我没有发布所有UI代码的原因。 我尝试初始化listModel时遇到异常: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: brutus.BrutusUI$2 cannot be cast to javax.swing.DefaultListModel
。 BrutusUI
是NetBeans生成的swing UI类(它只是具有所有组件的应用程序的主要入口点)。 但是,NetBeans向我展示了lFrequencyTable.getModel();
的返回值lFrequencyTable.getModel();
是ListModel
,为什么要尝试将UI类转换为DefaultListModel?
它不是试图将BrutusUI
转换为DefaultListModel
,而是brutus.BrutusUI$2
,其中$2
表示在类BrutusUI
声明的匿名类(实现ListModel
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.