Swing Test ob Tabellenspalte sortiert ist

definiere den Zustand 'sortiert', geht es um irgendeine Auswahl vorhanderer Sorter oder allgemein um die Reihenfolge der Elemente?
kannst du letzteres nicht durch einen Durchlauf aller Zeilen prüfen, also mit einer Schleife?
 
Wenn es dir darum geht zu entscheiden ob du Sortieren sollst oder nicht: Lass es.

Ein guter Sortieralgorithmus wird für das Sortieren einer bereits sortiereten Tabelle/Spalte genauso lange brauchen, wie man zum Überprüfen benötigen würde.
 
definiere den Zustand 'sortiert', geht es um irgendeine Auswahl vorhanderer Sorter oder allgemein um die Reihenfolge der Elemente?
kannst du letzteres nicht durch einen Durchlauf aller Zeilen prüfen, also mit einer Schleife?

Im Nachhinein sehe ich jetzt auch, dass meine Frage etwas zu kurz gefasst ist.

Also: ich habe eine JTable mit einem eigens entwickelten TableModel und einem TableSorter. Ausserdem habe ich einen MouseListener auf den TableHeader angesetzt, so dass ich per Kontextmenü die Sortierung aufheben kann. Soweit funktioniert alles bestens. Nur: wie kann ich programmatisch feststellen, ob überhaupt eine Spalte sortiert ist?

Natürlich kann ich alle Spalten "von Hand" überprüfen, ob eine sortiert ist. Aber ich denke, dass es eine Möglichkeit gibt, z.B. den TableSorter zu fragen, ob und wenn ja welche Spalte er sortiert hat. Aber vielleicht ist das auch nur ein Traum meiner eingeschlafenen Füsse? Andererseits kann man manche Dinge auch über Umwege erreichen. Das ist der eigentliche Grund meiner Frage.

Pepe
 
Der TableSorter?
http://download.oracle.com/javase/t...erDemoProject/src/components/TableSorter.java

Da gibt es eine Methode
Code:
getDirective(int)
über die du an die Sortierung kommen kannst. Ist zwar aktuell private, aber das lässt sich ja ändern oder durch eine weitere Methode ergänzen.

Java:
public int getSorting(int column)
{
      return getDirective(column).getDirection();
}

/*....*/
public int getDirection()
{
     return this.direction;
}
 
P.S.

ich habe eine Lösung für das Problem gefunden. Man kann den
Code:
TableRowSorter
fragen, ob es einen
Code:
SortKey
gibt:
Code:
tableRowSorter.getSortKeys().size()

Pepe
 

Neue Themen


Zurück
Oben