Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Model;
- import java.util.ArrayList;
- import java.util.List;
- import javax.swing.table.AbstractTableModel;
- public class TableModel extends AbstractTableModel {
- private ArrayList<String> titles;
- private final int columnNumber = titles.size();
- private ArrayList<Object> objectList;
- public TableModel(ArrayList<Object> objectList, ArrayList<String> titles) {
- this.objectList=objectList;
- this.titles=titles;
- }
- public Class getColumnClass(int column) {
- return getValueAt(0, column).getClass();
- }
- public int getListSize() {
- return this.objectList.size();
- }
- public String getColumnName(int col) {
- return titles.get(col);
- }
- @Override
- public int getRowCount() {
- return this.objectList.size();
- }
- @Override
- public int getColumnCount() {
- return columnNumber;
- }
- @Override
- public java.lang.Object getValueAt(int rowIndex, int columnIndex) {
- Object object= objectList.get(rowIndex);
- if(columnIndex<titles.size()){
- return object.getData(columnIndex);
- }
- return "";
- }
- }
- package Model;
- import org.jdom2.Attribute;
- import org.jdom2.Document;
- import org.jdom2.Element;
- import org.jdom2.input.SAXBuilder;
- import javax.swing.*;
- import java.awt.*;
- import java.io.FileReader;
- import java.util.ArrayList;
- public class LoadTable {
- public ArrayList <Object> objectList = new ArrayList<Object>();
- public ArrayList<String> titles = new ArrayList<String>();
- public LoadTable(){
- Object object;
- FileDialog loadDia = new FileDialog(new JFrame(), "Choose a file",
- FileDialog.LOAD);
- loadDia.setDirectory("C:\\Users\\AskeRik\\Desktop\\");
- loadDia.setVisible(true);
- String filename = loadDia.getFile();
- if (filename == null) {
- JOptionPane.showMessageDialog(null, "error");
- } else {
- filename = loadDia.getDirectory() + filename;
- try {
- SAXBuilder parser = new SAXBuilder();
- FileReader fr = new FileReader(filename);
- Document rDoc = parser.build(fr);
- ArrayList <String> data = new ArrayList<String>();
- java.util.List<Element> temp = rDoc.getRootElement().getChildren();
- java.util.List<Attribute> names = temp.get(0).getAttributes();
- for (int i = 0; i< names.size(); i++){
- titles.add(names.get(i).getName());
- }
- for (int i = 0; i<titles.size(); i++){
- //System.out.println(titles.get(i));
- }
- for (int mark = 0; mark < temp.size(); mark++) {
- java.util.List<Attribute> atrs = temp.get(mark).getAttributes();
- for (int number = 0; number <atrs.size(); number++) {
- data.add(atrs.get(number).getValue());
- object = new Object(data);
- objectList.add(object);
- data.clear();
- }
- }
- JFrame mainFrame = new JFrame("table");
- mainFrame.setLayout(new FlowLayout());
- mainFrame.setSize(600,400);
- mainFrame.setVisible(true);
- mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- TableModel tableModel = new TableModel(objectList, titles);
- JTable table = new JTable(tableModel);
- JScrollPane jScrollPane = new JScrollPane(table);
- table.setPreferredScrollableViewportSize(new Dimension(500, 300));
- mainFrame.getContentPane().add(jScrollPane);
- } catch (Exception ex) {
- System.out.println(ex.getMessage());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment