forked from LupusNobilis/java-org.hwo.ui
67 lines
1.3 KiB
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();
|
|
}
|
|
|
|
}
|