Treeviewer nach Kategorien sortieren

maestr0

Bekanntes Mitglied
Hallo,

habe mal wieder eine Frage. Ich bekomme viele Elemente in einem CheckedTreeviewer angezeigt und möchte diese nun nicht einfach untereinander angezeigt bekommen,sondern nach Kategorien sortiert.
Ungefähr wie auf dem Bild...
Problems View

Kategorie 1
- Element 1
- Element 2

Kategorie 2
- Element 1
- Element 2
.
.
.
.
Das ganze soll dann so implementiert werden,das ich eine Kategorie selektiere und alle Elemente in dieser Kategorie mitselektiert werden.

Wie implementiere ich als die Sortierung der Kategorien?
 

tuttle64

Bekanntes Mitglied
Die Klasse, welche die Kategorie und das Element enthält sollte das Interface Comparable implementieren und bei der Implementierung muss man zuerst nach der Kategorie und danach nach dem Element prüfen. In welcher Collection oder Map werden denn die Elemente abgelegt?
 

maestr0

Bekanntes Mitglied
Aus einer klasse rufe ich die setInput() vom ContentProvider auf.die Methode getElements() speichert die relevanten Dateien zunächst in einer ArrayList und gibt daraufhin am Schluss ein File[] zurück.im treeviewer werden dann die dateien aufgelistet.werde mir das mit dem interface comparable mal anschauen.
 

maestr0

Bekanntes Mitglied
Die Klasse, welche die Kategorie und das Element enthält sollte das Interface Comparable implementieren.....

Mit der Klasse meinst du dann mein Contentprovider oder?Im Moment werden dort die Elemente übergeben,ein bisschen gefiltert und anschließend im Treeviewer angzeigt.
Also im Prinzip bräuchte ich 3 Kategorien,in welche die Dateien angezeigt werden,jedoch finde ich dazu kein gutes Beispiel.
Als erstes müsste ich 3 Knoten anlegen,die die Kategorien symbolisieren und dann per compare-Methode die Elemente in die Knoten als Zweige sortieren.Sehe ich das richtig?
Wenn ja,dann müsste ich in der compare-Methode auf jeden fall abprüfen können,ob die Elemente z.b. mit ".zip" oder mit ".war" enden und anhand der Kriterien dann in die Kategorien einsortieren.
 

maestr0

Bekanntes Mitglied
Das es die Methoden gibt weiß ich doch :)
Mir ist der Ablauf nur nicht bewusst.
Ich habe eine Klasse,die den Treeviewer implemntiert und einer Methode,welche aus einem DirectoryDialog einen ausgewählten Pfad ausließt und diesen dann per setInput() Methode einer anderen Klasse und zwar dem ContentProvider übergibt.
Laut Comparable soll ich in der compare() Methode das aktuelle Objekt mit dem übergebenen Objekt vergleichen.
Das bedeutet also,dass ich das Comparable in der ContentProvider Klasse implementiere,da ich in der anderen Klasse ja nur den Pfad habe und was bringt es mir den zu vergleichen.

Nun stellt sich für mich die Frage nach welchen Kriterien ich den vergleichen soll?
Ich müsste ja die compare() Methode ausimplementieren und diese dann in der getElements() Methode vom ContenProvider verwenden,da ich dort die Dateien zurückgebe und dann im Treeviewer angezeigt werden.Doch was vergleiche ich,wenn ich z.b 6 Dateien habe "A.zip,B.war,C,zip,D.war,E.jar,F.jar" und diese im Treeviewer wie folgt angezeigt bekommen möchte

E.jar
F.jar
A.zip
C.zip
B.war
D.war

Es geht mir hauptsächlich um die Endungen,dass die Gruppen untereinander angezeigt werden.Ob jetzt F.zip vor E.zip kommt ist mir egal.
 

maestr0

Bekanntes Mitglied
Habe es nun anhand des kleinen Beispiels mit 6 Archiven geschafft.

Jedoch funktioniert es an meinem eigentlichen Projekt nicht und ich bin mir sicher,dass es an dem rekursiven Mechanismus liegt.
Gebe ich nämlich vor der Methodenrückgabe die Projekte in einer for-schleife aus,so erscheinen ganz viele Ausgaben und auch viele doppelt.
Jedoch erscheinen nach der Methodenrückgabe im Treeviewer nur die,die erscheinen sollen.Also sortiert der Treeviewer die doppelten automatisch aus.Anders kann ich es mir nicht erklären.Hier mal meine Methode().
Seht ihr eine Lösung für mein Problem?
Wie gesagt,das inputElement ist z.b. treeviewer.setInput(new File("D:/eclipse"));

Java:
   @Override
   public File[] getElements(Object inputElement)
   {
      elementList = ((File) inputElement).listFiles();
      if (elementList != null)
      {

         for (File file : elementList)
         {
            if (file.isDirectory())
            {
               getElements(file);
            }
            else if (file.getName().endsWith(".project"))
            {
               projectFileList.add(file.getAbsoluteFile());
            }

         }

         Collections.sort(projectFileList, fc);
         projects = new File[projectFileList.size()];
         for (int y = 0; y < projects.length; y++)
         {
            projects[y] = projectFileList.get(y);

         }


      }


      return projects;
   }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
B Treeviewer SWT AWT, Swing, JavaFX & SWT 2
R SWT TreeViewer neuen Input setzen AWT, Swing, JavaFX & SWT 3
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
D SWT TreeViewer: Daten aus Model gelöscht... trotzdem noch im Baum AWT, Swing, JavaFX & SWT 4
G SWT TreeViewer - drop listener austauschen AWT, Swing, JavaFX & SWT 2
T TreeViewer knoten manuell umsortieren AWT, Swing, JavaFX & SWT 4
F SWT Drag and Drop im TreeViewer AWT, Swing, JavaFX & SWT 4
K SWT treeviewer scrollen AWT, Swing, JavaFX & SWT 8
A SWT Eclipse JFace Binding TreeViewer AWT, Swing, JavaFX & SWT 4
L SWT Filter zur TreeViewer hinzufügen AWT, Swing, JavaFX & SWT 9
T SWT TreeViewer select columns AWT, Swing, JavaFX & SWT 2
V SWT TreeViewer Drag'n'Drop LocalSelectionTransfer AWT, Swing, JavaFX & SWT 10
R TreeViewer in SWT: Default Selection eines Items AWT, Swing, JavaFX & SWT 3
S Drag&Drop bei TreeViewer AWT, Swing, JavaFX & SWT 10
G treeviewer aus tabelle AWT, Swing, JavaFX & SWT 8
B TreeViewer für das Dateisystem, der sich selbst aktualisiert AWT, Swing, JavaFX & SWT 8
S SWT/JFace TreeViewer: Rootknoten anzeigen AWT, Swing, JavaFX & SWT 10
byte SWT -> JFace: TreeViewer AWT, Swing, JavaFX & SWT 4
S SWT/JFace TreeViewer-Problem AWT, Swing, JavaFX & SWT 2
R SWT-TreeViewer Doppelklick verarbeiten AWT, Swing, JavaFX & SWT 4
V SWT (JFace): Foreground des Textes im TreeViewer ändern. AWT, Swing, JavaFX & SWT 2
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
H JavaFX Fenstergröße nach maximieren erkennen AWT, Swing, JavaFX & SWT 6
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
T Elemente auf vorheriger Stage, nach Wechsel der Stage ansprechen AWT, Swing, JavaFX & SWT 32
berserkerdq2 Mein Rechteck hat 4 Seiten, ich soll je nach dem, welche Seite berührt wurde, etwas ausführen, wie prüfe ich das? AWT, Swing, JavaFX & SWT 12
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
P kein Scrollen nach affinertransformation bei mouse dragged AWT, Swing, JavaFX & SWT 2
M Wieso verändert sich die Framerate nach erneutem Starten des AnimationTimer? AWT, Swing, JavaFX & SWT 18
T ListView nach Erweiterung Fehler in CellFactory AWT, Swing, JavaFX & SWT 8
N JavaFX Tableview nach Löschen von Element falscher Index AWT, Swing, JavaFX & SWT 4
B JavaFX TextInputDialog: Focus auf Eingabefeldinhalt setzen und nach OK Inhalt leeren AWT, Swing, JavaFX & SWT 5
VPChief Nach abspielen von Sound reagiert das Program nichtmehr AWT, Swing, JavaFX & SWT 9
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
E Swing Componenten werden nach Änderung des display modes verzerrt dargestellt AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
F AWT awt KeyEvent - Zeichen direkt nach Eingabe löschen AWT, Swing, JavaFX & SWT 2
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
S JavaFX Slider freezt nach Benutzung AWT, Swing, JavaFX & SWT 3
M Swing GUI wird nach invokeLater() langsam AWT, Swing, JavaFX & SWT 19
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
T JavaFX Nach Zoomen wird an falscher Stelle gezeichnet AWT, Swing, JavaFX & SWT 0
S Ausgabe aktualisiert sich nur nach 2. Klick AWT, Swing, JavaFX & SWT 17
F JavaFX Zustand der CheckMenuItems behalten nach Programmneustart AWT, Swing, JavaFX & SWT 7
J jButton soll nach klicken eine Variable um 1 erhöhen AWT, Swing, JavaFX & SWT 2
S Nach scrollen verschwindet das zuvor im JPanel gezeichnete AWT, Swing, JavaFX & SWT 2
stroggi Swing Suche nach Kurveneditor (UI-Element) AWT, Swing, JavaFX & SWT 1
Neumi5694 java.awt.Window nach javafx.stage.Window AWT, Swing, JavaFX & SWT 1
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
F Swing Frame nach vorne holen AWT, Swing, JavaFX & SWT 2
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
robinab JavaFX TableView column resize nach setItems() AWT, Swing, JavaFX & SWT 0
MiMa Java, Maven Projekte nach JavaFX? AWT, Swing, JavaFX & SWT 3
S JavaFX Node soll auch nach Skalierung zentriert platziert sein AWT, Swing, JavaFX & SWT 3
J Suche nach einer horizontal aufklappbaren Toolbar AWT, Swing, JavaFX & SWT 1
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
MiMa Java Projekt nach JavaFX convertieren AWT, Swing, JavaFX & SWT 4
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
N Swing JButtons werden nach repaint() doppelt dargestellt AWT, Swing, JavaFX & SWT 12
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
L JTextField erscheint erst nach Veränderung der Framegröße AWT, Swing, JavaFX & SWT 5
C Nach Aufruf von anderer Klasse streikt Grafik AWT, Swing, JavaFX & SWT 1
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
D iText PDF wird nach Neustart nicht importiert AWT, Swing, JavaFX & SWT 0
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
Pr0m3theus Animation nach Event AWT, Swing, JavaFX & SWT 6
N Swing Abfrage durch JTextField nach Button betätigung AWT, Swing, JavaFX & SWT 3
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Linie wird nach Mausklick nicht am richtigen Ort gezeichnet AWT, Swing, JavaFX & SWT 11
C Memory Karten nach Paar offen bleiben sonst wieder umdrehen AWT, Swing, JavaFX & SWT 1
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
L JavaFX Java FX Anwendung nach MVC mit Observer Pattern AWT, Swing, JavaFX & SWT 15
M JavaFX Methode nach initialize() aufrufen AWT, Swing, JavaFX & SWT 6
MrSnake Tabelle nach 2 Strings Filtern AWT, Swing, JavaFX & SWT 3
N Swing JFormattedTextField keine Werte nach Formatzuweisung AWT, Swing, JavaFX & SWT 0
T Swing Tabelle mit Button - Anzeigefehler nach Zeile entfernen AWT, Swing, JavaFX & SWT 1
R LookAndFeel Wie kann man die Textfarbe der Nimbus ProgressBar nach Füllstand ändern? AWT, Swing, JavaFX & SWT 2
KilledByCheese Swing Seltsame Ausgabe nach ButtonClick AWT, Swing, JavaFX & SWT 1
thobren JavaFX textarea nach setPrefRowCount Ansicht aktualisieren AWT, Swing, JavaFX & SWT 1
L Graphik nach 100 ms neu laden AWT, Swing, JavaFX & SWT 1
B Doppelte MenuBar -> Nach Minimieren verschwunden AWT, Swing, JavaFX & SWT 3
W JComboBox auffristen nach Listenänderung AWT, Swing, JavaFX & SWT 20
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
A JFace/SWT: ListViewer Inhalt nach Selection in zweitem List Viewer aktualisieren! AWT, Swing, JavaFX & SWT 5
E JMenu erscheint nach RDP-Verbindung auf falschem Desktop AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben