Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
So sind mein Array aus, JTable und alles funktioniert, wie kann ich aber, in dem JTable die Datensätz alphabetisch nach dem Vornamen sortieren. Gibt es da etwas fertig von den Leuten von sun ?
Hatte vor kurzen das gleich gemacht. Entweder du sortiert per Button druck oder wenn du die oberste Zeile der Spalte drückst.
Beispiel für oberste Spalte:
Erstmal an deinen JTree einen Listener ranhängen damit erkannt wird wenn du den Bereich drückst:
Code:
jTable.getTableHeader().addMouseListener(new MouseAdapter(){
public void mouseClicked (MouseEvent e){ // Maus Klick Event
int index = jTable.columnAtPoint (e.getPoint());
index = jTable.convertColumnIndexToModel( index );
So nun für die einzelnen Spalten: 0 = Spalte 1, 1 = Spalte 2....
Code:
if (index == 0) {
FileTableModel model = getFileTableModel(); // um an das Model zu kommen
model.erneuern();
}
else if {} //.... und so weiter für alle Spalten
Hier meine Methode um an das Model zukommen:
Code:
protected FileTableModel getFileTableModel(){
TableModel model = jTable.getModel();
if( model instanceof FileTableModel ) // wenn model vom Typ FileTableModel ist
return (FileTableModel)model; // gebe mir model zurück
else
return null;
}
Und Hier meine erneuern Methode die sich im TableModel befindet, z.B. für Namen:
Code:
public void erneuern() {
Arrays.sort(files);
super.fireTableDataChanged();
}
Bei Tabellenspalten mit zahlen muss man eine andere Form der sort Methode nehmen (mit Comparator)