从JTable行设置变量的字符串

时间:2013-12-12 10:48:20

标签: java swing jtable

我正在尝试在我的表中的一行中获取字符串并将其放入我的变量a中。我怎样才能做到这一点?这是我的代码:

int row = tb_add.getSelectedRow();
DefaultTableModel model = (DefaultTableModel)tb_add.getModel();

String a;
a.setText(model.getValueAt(row, 1).toString());

我在setText收到红线错误。我认为它只适用于物体?字符串变量怎么样?

3 个答案:

答案 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类型,而是列表格中嵌入的任何JComponentobject

注意:

a.setText必须为您抛出编译错误,因为java.lang.String

中没有定义此类方法

答案 2 :(得分:0)

由于a是一个String变量,你应该这样做:

String a = model.getValueAt(row, 1).toString();