簡體   English   中英

將數據放入數組,然后放入JTable

[英]putting data into array and then JTable

提到我問的一個較早的問題

在控制台輸出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

要將數據直接放入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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM