EventTableModel.java 2.59 KB
package org.emercit.model;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
import javax.swing.table.TableCellRenderer;

import java.util.ArrayList;

import javax.swing.*;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;
import javax.swing.table.AbstractTableModel;

import java.awt.*;
import java.text.MessageFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class EventTableModel extends AbstractTableModel {

	private Set<TableModelListener> listeners = new HashSet<TableModelListener>();

	private List<MdlEvent> event;
	private List<MdlEvent> eventsource;

	private int start = 0;
	private int end = 9;

	public int getSize() {
		return eventsource.size();
	}

	public void AddRow(MdlEvent event) {
		eventsource.add(0, event);

		for (int i = 0; i < eventsource.size(); i++) {
			MdlEvent obj = eventsource.get(i);
			// if (obj.IsOld())
			// eventsource.remove(i);
		}

		Update(start, end);
	}

	public void Update(int start, int end) {

		this.start = start;
		this.end = end;
		event = new ArrayList<MdlEvent>();

		try {
			for (int i = start; i < end; i++)
				event.add(eventsource.get(i));
		} catch (Exception ex) {

		}

	}

	public void Update() {

		event = new ArrayList<MdlEvent>();

		try {
			for (int i = start; i < end; i++)
				event.add(eventsource.get(i));

		} catch (Exception ex) {

		}

	}

	public void RemoveOld() {
		try {
			ArrayList<MdlEvent> buff = new ArrayList<MdlEvent>();

			for (int i = 0; i < eventsource.size(); i++)
				buff.add(eventsource.get(i));

			this.eventsource = buff;

		} catch (Exception e) {
		}

	}

	public EventTableModel(List<MdlEvent> event) {
		this.eventsource = event;

	}

	public EventTableModel() {
		List<MdlEvent> initList = new ArrayList<MdlEvent>();
		// for (int i=0;i<100;i++)
		// {
		// LRTable lrtable=new
		// LRTable(i,"River "+i,i,"20.11.2013 8:00","7.5"+i);
		// initList.add(0,lrtable);
		// }
		this.event = initList;
		this.eventsource = initList;
	}

	public Class getColumnClass(int columnIndex) {
		return MdlEvent.class;
	}

	public int getColumnCount() {
		return 1;
	}

	public String getColumnName(int columnIndex) {
		return "Event";
	}

	public int getRowCount() {
		return (event == null) ? 0 : event.size();
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		return (event == null) ? null : event.get(rowIndex);
	}

	public boolean isCellEditable(int columnIndex, int rowIndex) {
		return true;
	}

}