小弟运行程序报错了
java.lang.ClassCastException: java.lang.String cannot be cast to model.TbSpinfo
at internalFrame.XiaoShouDan.updateTable(XiaoShouDan.java:534)代码块:
private final JComboBox sp = new JComboBox();
sp.addItem(new TbKhinfo()); //初始化商品检索下拉选择框
private void initSpPyBox() {
TbSpinfo spinfo = new TbSpinfo();
....
while (rs.next()) {
....
sp.addItem(spinfo);
spPy.addItem(spinfo);
} } }
// 根据商品下拉框的选择,更新表格当前行的内容
private synchronized void updateTable() { TbSpinfo spinfo = new TbSpinfo() ;
try{
spinfo = (TbSpinfo) sp.getSelectedItem();(*这步出错)
}catch(ClassCastException ex){
ex.printStackTrace();
}
.....
}
java.lang.ClassCastException: java.lang.String cannot be cast to model.TbSpinfo
at internalFrame.XiaoShouDan.updateTable(XiaoShouDan.java:534)代码块:
private final JComboBox sp = new JComboBox();
sp.addItem(new TbKhinfo()); //初始化商品检索下拉选择框
private void initSpPyBox() {
TbSpinfo spinfo = new TbSpinfo();
....
while (rs.next()) {
....
sp.addItem(spinfo);
spPy.addItem(spinfo);
} } }
// 根据商品下拉框的选择,更新表格当前行的内容
private synchronized void updateTable() { TbSpinfo spinfo = new TbSpinfo() ;
try{
spinfo = (TbSpinfo) sp.getSelectedItem();(*这步出错)
}catch(ClassCastException ex){
ex.printStackTrace();
}
.....
}
sp.getSelectedItem()
这个方法返回的是String,而你要转成TbSpinfo,自然不行。
getSelectedItem
public Object getSelectedItem()返回当前所选项。
如果组合框可编辑,则可能尚未使用 addItem、insertItemAt 或数据构造方法将此值添加到组合框中。 这个是api中的说明 你看下 是不是 什么地方 编辑到combobox了 导致值没有进去
private void initSpPyBox() {
TbSpinfo spinfo = new TbSpinfo();
....
while (rs.next()) {
....
sp.addItem(spinfo);
spPy.addItem(spinfo);
} } } 我加了啊