将数据放入数组然后JTable

时间:2015-08-13 22:58:06

标签: java arrays jtable

参考我之前提出的问题

lining up data in console output java

我希望将输出放在一个数组中,以便我可以进一步将其放入JTable

到目前为止我的代码的摘录是,我目前正在将输出打印到控制台。

String assd = null;
String eventy = null;
String assdFT = null;


for (int i = 0; i < list.getLength(); i++) {
Element element = (Element)list.item(i);
String nodeName = element.getNodeName();

switch (nodeName) {
case "assd":
assd = element.getChildNodes().item(0).getNodeValue();


break;
case "eventy":
eventy = element.getChildNodes().item(0).getNodeValue(); 

break;
case "assdFT":

assdFT = element.getChildNodes().item(0).getNodeValue(); 
break;

System.out.printf("%-30s  %-20s  %s%n", assd,  eventy,assdFT);




Object[][] data = {{assd,  eventy,assdFT}};//this only appears to put the elements in row 1, since System.out.println(data[1][0]) causes an out of array exception but System.out.println(data[0][0]) prints out all the elements of assd

1 个答案:

答案 0 :(得分:0)

将数据直接放入JTable,将自定义AbstractTableModel的实例传递给JTable构造函数。在TableModel中,您可以定义显示的数据及其访问方式。

它可能看起来像这样:

public class HeaderTableModel extends AbstractTableModel {

/**
 * 
 */
private static final long serialVersionUID = 8974549762036798969L;

private Object[][] myData;

public HeaderTableModel(final Object[][] theRows) {
    myHeaderRows = theRows;
}


/*
 * (non-Javadoc)
 * 
 * @see javax.swing.table.TableModel#getColumnCount()
 */
@Override
public int getColumnCount() {
    return LocalStorage.getNumColumns();
}

/*
 * (non-Javadoc)
 * 
 * @see javax.swing.table.TableModel#getRowCount()
 */
@Override
public int getRowCount() {
    return LocalStorage.getNumRows();
}

/*
 * (non-Javadoc)
 * 
 * @see javax.swing.table.TableModel#getValueAt(int, int)
 */
@Override
public Object getValueAt(final int theRow, final int theColumn) {
    return myHeaderRows[theRow][theColumn];
}
相关问题