【发布时间】:2017-03-10 22:40:36
【问题描述】:
为什么这段代码会抛出ClassCastException。当我试图将JTable(ie.showItem)的选定行值设置为TextField(ie.itemCode)时。异常是Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
showItem = new JTable();
showItem.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int rowCount=showItem.getRowCount();
if(rowCount>=1){
//Why it is throwing ClassCastException
itemCode.setText((String)showItem.getValueAt(showItem.getSelectedRow(), 0));
}
}
});
【问题讨论】:
-
因为从
getValueAt返回的对象 - 一个整数,如异常消息所示 - 不能转换为字符串。这与setText无关,是由用作参数的表达式引起的。还有其他问题吗? -
@Mukund 显示 itemCode 类
-
使用 .toString() 方法
标签: java swing jtable jtextfield