我的问题出在这段代码中:
int rowToTable = table.getSelectedRow();
int bookId = (int)table.getValueAt(rowToTable, 0); // line 158
解决办法是什么?
我需要 bookID 的 int
值,而不是 Object
。
堆栈跟踪:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at Project.BookPage_Admin.dellAction(BookPage_Admin.java:158)
at Project.BookPage_Admin.actionPerformed(BookPage_Admin.java:126)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
最佳答案
看起来该表中有字符串值。在这种情况下:
int value = Integer.parseInt((String) table.getValueAt(rowToTable, 0));
关于java - JTable.getValueAt(...) 中的 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610771/