Guten Tag,
ich habe bei einem Projekt eine JTable, die ich mit einem selbst geschriebenen RowSorter nach Datum sortiere.
Will ich nun einen Wert einer Reihe auslesen, bekomme ich das Ergebnis einer anderen Reihe.
(Ich nehme an, der Reihe, die ohne Sortierung an dieser Stelle gewesen wäre.
Folgendermaßen will ich innerhalb eines MouseListeners den ersten Wert der Zeile auslesen:
(selectedRow hat dabei den korrekten Wert)
Meine Sortierung (wahrscheinlich nicht ganz sauber, aber sie funktioniert):
Wie kann ich mein Problem beheben?
Ich hoffe, ihr könnt mir da ein bisschen weiter helfen.
Lg, Florian
ich habe bei einem Projekt eine JTable, die ich mit einem selbst geschriebenen RowSorter nach Datum sortiere.
Will ich nun einen Wert einer Reihe auslesen, bekomme ich das Ergebnis einer anderen Reihe.
(Ich nehme an, der Reihe, die ohne Sortierung an dieser Stelle gewesen wäre.
Folgendermaßen will ich innerhalb eines MouseListeners den ersten Wert der Zeile auslesen:
(selectedRow hat dabei den korrekten Wert)
Java:
jtable.getModel().getValueAt(selectedRow,0).toString();
Meine Sortierung (wahrscheinlich nicht ganz sauber, aber sie funktioniert):
Java:
rowSorter = new TableRowSorter<TableModel>(model);
jtable.setRowSorter(rowSorter);
rowSorter.setComparator( 4, new DateComparator());
sortTable(SortOrder.ASCENDING);
Java:
public static class DateComparator implements Comparator<String>{
public int compare( String o1, String o2 ) {
Date date1 = null;
Date date2 = null;
try{
SimpleDateFormat sdfToDate = new SimpleDateFormat( "dd.MM.yyyy" );
date1 = sdfToDate.parse(o1);
date2 = sdfToDate.parse(o2);
}catch(ParseException ex2){}
return date1.compareTo(date2);
}
}
Wie kann ich mein Problem beheben?
Ich hoffe, ihr könnt mir da ein bisschen weiter helfen.
Lg, Florian