从JTable获取值到数组

时间:2014-11-20 05:53:22

标签: java arrays jtable

嘿,我试图将JTable中的值转换为数组,然后打印出来。我似乎实际上正在接受一些东西而不是取值。我不明白为什么。 这是我的代码:

public Object[][] getTableData (JTable table) {
    DefaultTableModel dtm = (DefaultTableModel) table.getModel();
    int nRow = dtm.getRowCount();
    int nCol = dtm.getColumnCount();
    Object[][] tableData = new Object[nRow][nCol];
    for (int i = 0 ; i < nRow ; i++){
        for (int j = 0; j < nCol ; j++)
        tableData[i][j] = dtm.getValueAt(i,j);
    }
    System.out.println(Arrays.asList(tableData));
    return tableData;
}

3 个答案:

答案 0 :(得分:3)

DefaultTableModel model = new javax.swing.table.DefaultTableModel();

    model.addColumn("Col1");
    model.addColumn("Col2");

    model.addRow(new Object[]{"1", "v2"});
    model.addRow(new Object[]{"2", "v2"});

    List<String> numdata = new ArrayList<String>();
    for (int count = 0; count < model.getRowCount(); count++){
          numdata.add(model.getValueAt(count, 0).toString());
    }

    System.out.println(numdata);

试试这个

答案 1 :(得分:0)

你必须使用System.out.println(Array.toString(//你的代码在这里));

答案 2 :(得分:0)

列表与LT;对象&gt; list = new ArrayList&lt;对象&gt;();

for(int i = 0; i&lt; nRow; i ++){

    for (int j = 0; j < nCol ; j++)
     list.add(dtm.getValueAt(i,j).toString());  

}