package org.hwo.ui; import java.util.List; import javax.swing.JTable; import javax.swing.event.ListSelectionListener; import org.hwo.models.FlexibleObjectTableModel; public class FlexibleJTable extends JTable { private FlexibleObjectTableModel model; public FlexibleJTable(Class class_t) { this.model = new FlexibleObjectTableModel(class_t); this.setModel(this.model); } public FlexibleObjectTableModel getModel() { return this.model; } public T getSelectedObject() { if (this.getSelectedRow()==-1) return null; return this.model.getRows().get(this.getSelectedRow()); } public void addListSelectionListener(ListSelectionListener listener) { this.getSelectionModel().addListSelectionListener(listener); } public void removeListSelectionListener(ListSelectionListener listener) { this.getSelectionModel().removeListSelectionListener(listener); } public void addColumn(String column) { this.addColumn(column, true); } public void addColumn(String column,boolean readonly) { this.model.addColumn(column,readonly); } public void setRows(List rows) { this.model.setRows(rows); } public void addRow(T o) { this.model.addRow(o); } public int getRowCount() { return this.model.getRowCount(); } }