Hello i'm trying to put Values from my XML file to a table but it says that the length of the list ist 0.
package TableTest;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import org.jdom2.Element;
public class JTableDemo extends JFrame {
JTable table;
DefaultTableModel model;
List<TableData> data = new ArrayList<>();
public static void main(String[] args) {
// Die Namen der Columns
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new JTableDemo().setVisible(true);
}
});
}
public JTableDemo() {
// Per Xml datei laden
List list = XmlData.instance.getRootElement().getChildren("Entity");
System.out.println("Die größe ist: " + list.size());
for (int i = 0; i < list.size(); i++) {
Element e = (Element) list.get(i);
System.out.println(i + " von " + e.getChildText("Name") + " " + e.getChildText("Art") + " " + e.getChildText("Datum"));
data.add(new TableData(e.getChildText("Name"), e.getChildText("Art"), e.getChildText("Datum")));
}
Item i1 = new Item("Test", "Hi");
Item i2 = new Item("Test1", "Hi");
Item i3 = new Item("Test2", "Hi");
// Spalten Überschrift
String[] titles = new String[]{"Name", "Art", "Datum"};
model = new DefaultTableModel(titles, 0);
table = new JTable(model);
// Items Model hinzufügen
model.addRow(i1.getItem());
model.addRow(i2.getItem());
model.addRow(i3.getItem());
// ###### //
setTitle("Demo");
getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(500, 500));
setMinimumSize(getPreferredSize());
setMaximumSize(getPreferredSize());
}
private class Item {
Vector<String> name;
Vector<String> type;
// ####### //
public Item(String name, String type) {
this.type = new Vector<>();
this.name = new Vector<>();
this.name.add(name);
this.type.add(type);
}
// Gibt das Item zurück
public Vector getItem() {
Vector i = new Vector();
i.add(name);
i.add(type);
return i;
}
}
}
The test items i created i1, i2 and so on are shown in the table but i need to put this XML values in an Item to add it to my table, i cant make a custom model because the deadline is soon and the problem occured some minutes ago.
<?xml version="1.0" encoding="UTF-8"?>
<app>
<!-- Pfad für Templates und speicher ort für die Entity.java-->
<Entity>
<Name>Buchung</Name>
<Art>0</Art>
<Datum>Wed Nov 19 11:25:20 CET 2014</Datum>
</Entity>
</app>
No comments:
Post a Comment