java-org.hwo.ui/src/org/hwo/ui/FlexibleJTable.java

67 lines
1.3 KiB
Java

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<T> extends JTable {
private FlexibleObjectTableModel<T> model;
public FlexibleJTable(Class class_t)
{
this.model = new FlexibleObjectTableModel<T>(class_t);
this.setModel(this.model);
}
public FlexibleObjectTableModel<T> 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<T> rows)
{
this.model.setRows(rows);
}
public void addRow(T o)
{
this.model.addRow(o);
}
public int getRowCount()
{
return this.model.getRowCount();
}
}