TableMapper sortierung optional

thobaben_diagram
Harald Wolff 2016-10-26 19:26:57 +02:00
parent 0c72517c3c
commit 82124f8e9e
1 changed files with 25 additions and 1 deletions

View File

@ -25,6 +25,7 @@ import javax.swing.JFrame;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableRowSorter;
import org.hwo.csv.CSV; import org.hwo.csv.CSV;
import org.hwo.csv.CSVRecord; import org.hwo.csv.CSVRecord;
@ -272,6 +273,7 @@ public class TableMapper extends AbstractTableModel
private MouseAdapter mouseAdapter; private MouseAdapter mouseAdapter;
private boolean editorEnabled; private boolean editorEnabled;
private boolean sortingEnabled;
private LinkedList<TableMapperListener> tableMapperListeners; private LinkedList<TableMapperListener> tableMapperListeners;
@ -310,7 +312,8 @@ public class TableMapper extends AbstractTableModel
table.setModel(this); table.setModel(this);
table.setColumnModel(new TableMapperColumnModel(this)); table.setColumnModel(new TableMapperColumnModel(this));
table.setAutoCreateRowSorter(true); table.setAutoCreateRowSorter(false);
setSortingEnabled(true);
mouseAdapter = new MouseAdapter() { mouseAdapter = new MouseAdapter() {
@ -364,6 +367,23 @@ public class TableMapper extends AbstractTableModel
} }
private void initializeJTable(){
if (sortingEnabled){
this.jTable.setRowSorter(new TableRowSorter<TableMapper>(this));
} else {
this.jTable.setRowSorter(null);
}
}
public boolean isSortingEnabled() {
return sortingEnabled;
}
public void setSortingEnabled(boolean sortingEnabled) {
this.sortingEnabled = sortingEnabled;
initializeJTable();
}
public void addListSelectionListener(ListSelectionListener listener) public void addListSelectionListener(ListSelectionListener listener)
{ {
jTable.getSelectionModel().addListSelectionListener(listener); jTable.getSelectionModel().addListSelectionListener(listener);
@ -727,6 +747,10 @@ public class TableMapper extends AbstractTableModel
return this.p_columns.get(columnIndex).getLabel(); return this.p_columns.get(columnIndex).getLabel();
} }
public <T> T getSelectedRow(Class<T> c){
return (T)getSelectedRow();
}
public Object getSelectedRow() public Object getSelectedRow()
{ {
if (jTable.getSelectedRow()!=-1) if (jTable.getSelectedRow()!=-1)