2015-08-13 3 views
0

Ссылаясь на предыдущий вопрос я спросилположить данные в массив, а затем 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 
+0

Этот код ужасен, пожалуйста, форматировать и отступа кода, есть брекеты, которые отсутствуют и 'switch' просто бардак. :)! –

+0

Я теперь улучшил внешний вид кода – Ingram

+0

[Как использовать таблицы] (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html) - Посмотрите на «DefaultTableModel» – MadProgrammer

ответ

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]; 
} 
+0

, но как я могу получить каждый элемент assd, eventy, assdFT в таблицу? Я всего лишь новичок – Ingram

+0

, вы передаете их часть ваших данных в таблицу. – andrewdleach

+0

хорошо, мне нужна эта часть кода для создания массива? Объект [] [] data = new Объект [1000] [10]; for (int r = 0; r Ingram

Смежные вопросы