Package org.hxzon.swing.easy.components.table

Source Code of org.hxzon.swing.easy.components.table.EasyTable

package org.hxzon.swing.easy.components.table;

import java.util.List;

import javax.swing.JTable;
import javax.swing.RowSorter;
import javax.swing.table.TableColumn;

public class EasyTable<V> extends JTable {

    private static final long serialVersionUID = 1L;

    private List<V> origDatas;

    private List<V> viewDatas;

    public Object getValueAt(int row, int col) {
        EasyTableColumn<V> column = (EasyTableColumn<V>) this.getColumnModel().getColumn(col);
        V rowValue = getViewDatas().get(row);
        return column.getValue(this, rowValue);
    }
   
    public void setValueAt(Object aValue, int row, int col){
        EasyTableColumn<V> column = (EasyTableColumn<V>) this.getColumnModel().getColumn(col);
        V rowValue = getViewDatas().get(row);
        column.setValue(this, rowValue, aValue);
    }

    public String getColumnName(int column) {
        return ((EasyTableColumn<V>) getColumnModel().getColumn(column)).getColumnName();
    }

    public Class<?> getColumnClass(int column) {
        return ((EasyTableColumn<V>) getColumnModel().getColumn(column)).getValueClass();
    }

    public int getRowCount() {
        RowSorter sorter = getRowSorter();
        if (sorter != null) {
            return sorter.getViewRowCount();
        }
        return getViewDatas().size();
    }

    public void addColumn(TableColumn aColumn) {
        if (!(aColumn instanceof EasyTableColumn)) {
            throw new RuntimeException("");
        }
        EasyTableColumn<V> column = (EasyTableColumn<V>) aColumn;
        if (column.getHeaderValue() == null) {
            column.setHeaderValue(column.getColumnName());
        }
        getColumnModel().addColumn(aColumn);
    }

    public List<V> getOrigDatas() {
        return origDatas;
    }

    public void setOrigDatas(List<V> origDatas) {
        this.origDatas = origDatas;
    }

    public List<V> getViewDatas() {
        if (viewDatas == null) {
            viewDatas = origDatas;
        }
        return viewDatas;
    }

    public void setViewDatas(List<V> viewDatas) {
        this.viewDatas = viewDatas;
    }

}
TOP

Related Classes of org.hxzon.swing.easy.components.table.EasyTable

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.