2013-12-12 34 views
0

我試圖讓我的表中的一行中的字符串,並把它放在我的變量a。我怎樣才能做到這一點?這裏是我的代碼:從JTable行設置變量的字符串

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

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

我在setText出現紅線錯誤。我認爲這隻適用於對象?如何在一個字符串變量?

回答

1

在String類中沒有稱爲setText(String)的API。您可以使用

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

@ user2942600:接受答案,以便問題將被關閉 – Sach

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()方法可能不是真的一個恰當的方法,因爲它可以從Object類返回純toString實現即使JTable的列的值是java.lang.String型的,而是任何JComponentobject嵌入式在表格欄中。

注:

a.setText必須拋出編譯錯誤你,因爲在java.lang.String

0

由於a定義沒有這樣的方法是一個字符串變量,你應該做這樣的事情:

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