我正在尝试在我的表中的一行中获取字符串并将其放入我的变量a中。我怎样才能做到这一点?这是我的代码:
int row = tb_add.getSelectedRow();
DefaultTableModel model = (DefaultTableModel)tb_add.getModel();
String a;
a.setText(model.getValueAt(row, 1).toString());
我在setText收到红线错误。我认为它只适用于物体?字符串变量怎么样?
答案 0 :(得分:1)
String类中没有名为setText(String)
的API。你可以用
String a=model.getValueAt(row, 1).toString();
答案 1 :(得分:0)
String a = (String)model.getValueAt(row, 1);
应该为你做。因为表模型中的值是java.lang.Object
的实例。在你的情况下,它恰好是一个字符串。如果您想对自己的工作更加小心,可以按照以下方式进行操作。
Object o = model.getValueAt(row, 1);
String a = null
if (o instanceof String) {
a = (String) o;
}
有时只是调用toString()
方法可能不是一种合适的方法,因为它可能会从toString
类返回纯Object
个实现,即使JTable
&#39的值也是如此; s列不是java.lang.String
类型,而是列表格中嵌入的任何JComponent
或object
。
注意:
a.setText必须为您抛出编译错误,因为java.lang.String
答案 2 :(得分:0)
由于a
是一个String变量,你应该这样做:
String a = model.getValueAt(row, 1).toString();