Ich bin schon seit stunden am Suchen nach einem Tutorial oder Beispiel für das definieren eines eigenen RowSorter. Ich habe folgendes
[Java]
public class Sortierer extends RowSorter<MyTableModel>{
List<? extends SortKey> keys = null;
@Override
public int convertRowIndexToModel(int index) {
return index;
}
@Override
public int convertRowIndexToView(int index) {
return index;
}
@Override
public MyTableModel getModel() {
return null; //Kein Plan wie
}
@Override
public int getModelRowCount() {
return 0; //Kein Plan wie
}
@Override
public List<? extends javax.swing.RowSorter.SortKey> getSortKeys() {
return keys;
}
@Override
public int getViewRowCount() {
return getModelRowCount();
}
@Override
public void modelStructureChanged() {}
@Override
public void rowsDeleted(int firstRow, int endRow) {}
@Override
public void rowsInserted(int firstRow, int endRow) {}
@Override
public void rowsUpdated(int firstRow, int endRow) {}
@Override
public void rowsUpdated(int firstRow, int endRow, int column) {}
@Override
public void setSortKeys(List<? extends RowSorter.SortKey> keys) {
this.keys = keys;
}
@Override
public void allRowsChanged() {
//Hier kommt nocht sortieren
}
@Override
public void toggleSortOrder(int column) {
//Hier auch
}
}
[/Java]
Jetzt mache ich JTable.setRowSorter(Sortierer); Übersetzen funktioniert aber beim testen kommt der Fehler NullPointerException: null (in sun.swing.table.DefaultTableCellHeaderRenderer). Ich verstehe warum jeder den Standard RowSorter benutzt, aber wir müssen das für Uni mit einer eigenen Klasse die von RowSorter erbt machen und es wurden uns keinerlei Informationen dazu gegeben wie man das möglicherweise machen könnte.
[Java]
public class Sortierer extends RowSorter<MyTableModel>{
List<? extends SortKey> keys = null;
@Override
public int convertRowIndexToModel(int index) {
return index;
}
@Override
public int convertRowIndexToView(int index) {
return index;
}
@Override
public MyTableModel getModel() {
return null; //Kein Plan wie
}
@Override
public int getModelRowCount() {
return 0; //Kein Plan wie
}
@Override
public List<? extends javax.swing.RowSorter.SortKey> getSortKeys() {
return keys;
}
@Override
public int getViewRowCount() {
return getModelRowCount();
}
@Override
public void modelStructureChanged() {}
@Override
public void rowsDeleted(int firstRow, int endRow) {}
@Override
public void rowsInserted(int firstRow, int endRow) {}
@Override
public void rowsUpdated(int firstRow, int endRow) {}
@Override
public void rowsUpdated(int firstRow, int endRow, int column) {}
@Override
public void setSortKeys(List<? extends RowSorter.SortKey> keys) {
this.keys = keys;
}
@Override
public void allRowsChanged() {
//Hier kommt nocht sortieren
}
@Override
public void toggleSortOrder(int column) {
//Hier auch
}
}
[/Java]
Jetzt mache ich JTable.setRowSorter(Sortierer); Übersetzen funktioniert aber beim testen kommt der Fehler NullPointerException: null (in sun.swing.table.DefaultTableCellHeaderRenderer). Ich verstehe warum jeder den Standard RowSorter benutzt, aber wir müssen das für Uni mit einer eigenen Klasse die von RowSorter erbt machen und es wurden uns keinerlei Informationen dazu gegeben wie man das möglicherweise machen könnte.
Zuletzt bearbeitet von einem Moderator: