Filter in die JFace/SWT Tabelle einbauen

mrbela

Bekanntes Mitglied
Hallo Leute!

Ich habe mir eine Tabelle mit JFace (TableViewer) gebaut.. Den ViewerSorter habe ich über einen column.addSelectionListener auf den Header der jeweiligen Spalte gelegt. Klappt auch soweit alles!

Jetzt müsste ich noch einen Filter einbauen.. So à la:

IC97108.gif

Nach langer, vergebener Suche gebe ich auf und frage hier in dem Forum nach...

Ich danke Euch für die Hilfe!!

P.S.: den ViewerFilter habe ich auch schon entdeckt und verstanden.. Nur muss dieser von etwas angestoßen werde, damit dann die Daten entsprechen des Filters gefiltert werden.. Und dieses anstoßen möchte ich nicht aus einem Textfeld heraus (wie oft im Internet propagiert), sondern eben aus einem Menü, das aus dem Header der jeweiligen Tabelle "rauskommt".
 

dzim

Top Contributor
Ich bin schon eine Weile aus SWT raus und zum JavaFX-Lager gewechselt, aber ich versuche mal, die ein paar Hinweise zu geben.

Wenn ich mir die JavaDoc zu Table anschaue, bin ich eher skeptisch:
https://www.eclipse.org/swt/widgets/ (dort nach "Table" suchen und "JavaDoc" anschauen)

ob (oder vielleicht besser: wie) man den Header einer Tabelle modifiziert, kannst du ja mal hier schauen:
Table « SWT JFace Eclipse « Java
--> Place arbitrary controls in a SWT table : Table « SWT JFace Eclipse « Java (Betrifft die Zellen, kann man aber vielleicht auf den Header übertragen!)

Auch die JavaDoc des jFace TableViewer scheint nicht weiterhelfen zu können.

Du könntest jetzt mal schauen, ob eines der Widgets aus dem Nebula-Projekt dir weiterhelfen kann (Inkubator-Projekte, die noch eine "offiziellen" SWT-Widgets sind, die man aber durchaus produktiv einsetzen kann, wenn man mag):
Nebula Project
(Ich hab z.B. früher mal das PShelf daraus verwendet.)
(Schau mal nach Grid, XViewer oder NatTable!)

Alternativ kannst du es auch "hacken": Eine spontane Idee wäre, einen ViewerComparator anzuhängen, dort aber nicht zu sortieren (return 0), sondern eine undekorierte Shell mit einer Liste deiner Filter-Optionen anzuzeigen.
Nachteil: Keine Anzeige im Header der Tabelle vorhanden, dass der Header klickbar ist und auch kein Combo-Widget...

----------------------------------------

Das hilft die jetzt nicht, aber ich glaube dort kann man - wie auch in der Tabelle selbst - einfach eine Custom-Zelle erzeugen lassen, bei der man den Text gegen eine Layout austauscht. Für die regulären Zellen hab ich das schon gemacht. Ist zwar ein wenig "frickelig", aber mit ein wenig Übung jetzt nicht so schwer (Aufwand max 1h).
Wenn es denn mäglich ist, solltest du überlegen, ob die zu JavaFX wechseln kannst. Ansonsten aber ist JavaFX auch einfach direkt in SWT einzubetten ( 8 JavaFX Interoperability with SWT (Release 8) ).
In
 

mrbela

Bekanntes Mitglied
Hey dzim!

Danke Dir für Deine Tips! Ich habe mich jetzt für die NatTable aus dem Nebula Project entschieden..

Aber generell mal eine Frage zu den ganzen Projekten von Eclipse (List of Projects | projects.eclipse.org). Wie soll man da einen Überblick haben? Wäre es nicht ganz gut Dinge nach GUI und sonsitgen Kriterien zu sortieren?

Wie kamst Du bpsw. auf die Idee, dass sich hinter dem Namen "Nebula" verschiedene SWT Widgets verstecken?

Finde diese Seite gar nicht mal so übersichtlich und aussagekrätig ;)
 

dzim

Top Contributor
Keine Ahnung, das ist schon 6 Jahre her oder so. Da bin ich über irgendwelche Nachrichten (RSS) mal da hingekommen.
Eclipse mangelt es (leider) wirklich an einer vernünftigen Doku! Ich finde es schade, das diese ansonsten tolle Platform hier es nicht schafft, mal für Ordnung zu sorgen.
Schlimmer aber ist, dass sehr viele grosse Projekte auf Eclipse aufbauen (die Platform ist halt extrem flexibel), aber kaum einer Code an die Basis zurückgibt. Viele meckern über Performance etc., aber am Ende gibt es vielleicht 5-10 aktive Commiter, die das Rückrat von Eclipse versuchen am Laufen zu halten... :-(
 

mrbela

Bekanntes Mitglied
Okay.. Ja, das ist wirklich schade! Ich finde Eclipse n super Tool, besser als NetBeans etc.

Dennoch muss ich sagen, dass z.B. die Dokumentation von SWT wirklich unter aller Sau ist.. Man muss sich vieles selbst zusammenreimen... Und vieles entdeckt man nur per Zufall! Steht sonst nirgends, außer in den Tiefen der API..

Sehr schade..!! Weil gerade die Fähigkeit Plugins für Eclipse mittels SWT zu schreiben wirklich sehr mächtig ist..

Als Programmierer muss man sich da glaube ich einmal mit der Machete durchgekämpft haben. Anders geht es nicht.. :/
 

dzim

Top Contributor
Ja ist so, aber ich finde z.B. das die API selbst von SWT - also wie man UIs baut - mir immer noch mehr als JavaFX gefällt! FX hat coole build-in-Features, aber wenn man per Code ein UI baut, finde ich es etwas sperrig. Vor allem die Layouts in SWT sind IMHO immer noch das beste (was ich so kenne) in der Java-Welt.

Wenn du SWT "gemeistert" hast, kann ich dir ein nächstes Eclipse-Projekt empfehlen: RAP (Remote Application Platform). Ist sozusagen SWT im Browser (aber Server-Side-UI, nicht Client-Side-UI). Es ist insofern ein cooles Projekt, als dass man RAP-"Webseiten" auch als native Anwendungen in iOS und Android rendern lassen kann (via dem kommerzielen Produkt Tabris), aber auch sonst ist es recht brauchbar. Aber wie immer gilt: Learning by doing. Wenig (brauchbare) Doku, wenn man komplexere Probleme hat.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
D Filter in Tabelle Sql AWT, Swing, JavaFX & SWT 6
D JavaFX Table Filter AWT, Swing, JavaFX & SWT 4
J ComboBox als Filter benutzen AWT, Swing, JavaFX & SWT 1
J Kombinieren von Filter-Optionen für JTable AWT, Swing, JavaFX & SWT 4
C Eclipse Filter-Muster AWT, Swing, JavaFX & SWT 2
B Swing Filter für JTable mit Netbeans Editor AWT, Swing, JavaFX & SWT 2
S Swing Tabelle mit Model bei eingeschaltetem Filter synchronisieren AWT, Swing, JavaFX & SWT 6
D Filter für JTable AWT, Swing, JavaFX & SWT 5
M JTable Filter AWT, Swing, JavaFX & SWT 3
C Swing Dynamische JComboBox (Filter) AWT, Swing, JavaFX & SWT 28
S JTable Filter nach Wort oder Wortteil über ganze Tabelle AWT, Swing, JavaFX & SWT 5
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
M ISelection an Filter übergeben AWT, Swing, JavaFX & SWT 2
L SWT Filter zur TreeViewer hinzufügen AWT, Swing, JavaFX & SWT 9
K JTable wird nicht aktualisiert, wenn Filter gesetzt ist AWT, Swing, JavaFX & SWT 9
E Swing JTree Filter Suche mit Collapse?! AWT, Swing, JavaFX & SWT 4
C JTable Dropdown Filter AWT, Swing, JavaFX & SWT 5
B AWT FileDialog Filter wird ignoriert AWT, Swing, JavaFX & SWT 7
D JTree Filter erstellen AWT, Swing, JavaFX & SWT 4
G Jfilechooser filter AWT, Swing, JavaFX & SWT 10
H FileChooser und Filter AWT, Swing, JavaFX & SWT 4
G Probleme mit JFileChooser und Filter AWT, Swing, JavaFX & SWT 11
G dynamischer Filter bei JTable AWT, Swing, JavaFX & SWT 2
D HSB - Filter AWT, Swing, JavaFX & SWT 3
V Filter im JFileChooser. AWT, Swing, JavaFX & SWT 5
B JFace Bezugsquelle AWT, Swing, JavaFX & SWT 5
A JFace/SWT: ListViewer Inhalt nach Selection in zweitem List Viewer aktualisieren! AWT, Swing, JavaFX & SWT 5
A JFace Wizard: Ist es möglich eine Page zu löschen? AWT, Swing, JavaFX & SWT 2
I SWTBot und JFace AWT, Swing, JavaFX & SWT 2
lumo SWT JFace Databinding +Custom Table AWT, Swing, JavaFX & SWT 2
E JFace ListSelectionDialog & Mouse-Events? AWT, Swing, JavaFX & SWT 2
M SWT /Jface Wann einen ColumnLabelProvider benutzen? AWT, Swing, JavaFX & SWT 2
K SWT/JFace AWT, Swing, JavaFX & SWT 8
J SWT JFace Tree in Section unsichtbar (Eclipse Forms) AWT, Swing, JavaFX & SWT 5
A SWT Eclipse JFace Binding TreeViewer AWT, Swing, JavaFX & SWT 4
J Welche Fallstricke gibt es bei TreeTables in SWT/JFace AWT, Swing, JavaFX & SWT 3
M SWT Jface Action und localised Strings AWT, Swing, JavaFX & SWT 6
M sortierbare Tabelle mit jface und databinding AWT, Swing, JavaFX & SWT 3
B Sudokuartiger View (RadiobuttonTableView) mit JFace Viewer? AWT, Swing, JavaFX & SWT 3
D SWT JFace TableViewer nächster CellEditor nach Enter aktivieren AWT, Swing, JavaFX & SWT 5
D SWT JFace Wizard Progressbar AWT, Swing, JavaFX & SWT 4
E SWT JFace TitleAreaDialog OK Button sperren AWT, Swing, JavaFX & SWT 3
N swt und awt in JFace ummodeln AWT, Swing, JavaFX & SWT 13
V SWT/JFace Interessante Links AWT, Swing, JavaFX & SWT 3
dzim JFace ListViewer-Einträge mit CellEditor? AWT, Swing, JavaFX & SWT 3
X RCP/SWT/JFace: Sprache lässt sich nicht ändern AWT, Swing, JavaFX & SWT 3
dzim NullPointer bei refresh() einer JFace TableViewer AWT, Swing, JavaFX & SWT 2
dzim JFace TableViewer mit verschiedenen Inhalten AWT, Swing, JavaFX & SWT 4
L Frage zu Erstellung des Menu mit JFace AWT, Swing, JavaFX & SWT 2
A Jface: Wie Inhalt des Hauptbereichs verändern AWT, Swing, JavaFX & SWT 5
M JFace TableViewer + ContentProvider, wo sind die Spalten? AWT, Swing, JavaFX & SWT 6
S JFace Startprobleme AWT, Swing, JavaFX & SWT 2
G HTML-Link mit SWT bzw. JFACE AWT, Swing, JavaFX & SWT 4
G Dynamic Help mit SWT/JFace AWT, Swing, JavaFX & SWT 5
G JFace/SWT contra AWT/Swing AWT, Swing, JavaFX & SWT 10
F [jFace] ListViewer: zusätzliche Infos anzeigen lassen AWT, Swing, JavaFX & SWT 2
D JDIC Browser in SWT/JFace Anwendung nutzen AWT, Swing, JavaFX & SWT 2
S SWT/JFace TreeViewer: Rootknoten anzeigen AWT, Swing, JavaFX & SWT 10
J Fehler bei Applikationen mit JFace AWT, Swing, JavaFX & SWT 2
G JFace benutzen, aber wie! AWT, Swing, JavaFX & SWT 2
byte SWT -> JFace: TreeViewer AWT, Swing, JavaFX & SWT 4
S SWT/JFace TreeViewer-Problem AWT, Swing, JavaFX & SWT 2
V SWT (JFace): Foreground des Textes im TreeViewer ändern. AWT, Swing, JavaFX & SWT 2
V SWT (JFace): bekomme das FormLayout nicht hin. AWT, Swing, JavaFX & SWT 4
L (jface) InputDialog erweitern. AWT, Swing, JavaFX & SWT 2
W Kleine Sub-Tabelle in SpreadsheetView-Zelle anzeigen AWT, Swing, JavaFX & SWT 9
K Tabelle zu Datenbank hinzufügen / Apache Derby AWT, Swing, JavaFX & SWT 7
izoards JavaFX editierbare Tabelle AWT, Swing, JavaFX & SWT 4
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
T Zelle- und die Zeile-Farbenwechsel bei der Selektion in der Tabelle AWT, Swing, JavaFX & SWT 4
T Anbinden der Tabelle an die Daten AWT, Swing, JavaFX & SWT 5
ralfb1105 JavaFX TreeView dynamisch aus Datenbank Tabelle erstellen AWT, Swing, JavaFX & SWT 22
F JavaFX Tabelle mit Daten füllen AWT, Swing, JavaFX & SWT 9
kodela Swing Letzte Änderung in der Tabelle wird nicht gespeichert AWT, Swing, JavaFX & SWT 5
W JavaFX Tabelle zeilenweise mit Werten füllen und an Container anpassen AWT, Swing, JavaFX & SWT 23
F JavaFX Tabelle mit gespeicherten Eingabe Werten AWT, Swing, JavaFX & SWT 8
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
B Zeile einer Tabelle selektieren AWT, Swing, JavaFX & SWT 1
A Swing Tabelle wird bei Betätigung des Button nicht befüllt AWT, Swing, JavaFX & SWT 17
L Dynamischer Aufbau einer Tabelle über Objekte AWT, Swing, JavaFX & SWT 2
B Swing Tabelle(JTable) filtern swing GUI AWT, Swing, JavaFX & SWT 3
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
MrSnake Tabelle nach 2 Strings Filtern AWT, Swing, JavaFX & SWT 3
M JavaFX Tabelle flexibler Länge AWT, Swing, JavaFX & SWT 3
T Swing Tabelle mit Button - Anzeigefehler nach Zeile entfernen AWT, Swing, JavaFX & SWT 1
JavaMachtMichFertig JavaFX Gui - Löschbutton in Tabelle anzeigen, die mittels MySQL Abfrage gefüllt wird AWT, Swing, JavaFX & SWT 5
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
J JavaFX Tabelle soll ganze Seite ausfüllen AWT, Swing, JavaFX & SWT 2
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
D Swing Eigene Tabelle AWT, Swing, JavaFX & SWT 18
T SWT Mysql Tabelle zeigt immer nur den ersten Wert immer wieder an AWT, Swing, JavaFX & SWT 3
J JavaFX eine Art Tabelle, jedoch mit mehreren Zeilen AWT, Swing, JavaFX & SWT 2
P Swing Klick in Tabelle nicht möglich AWT, Swing, JavaFX & SWT 0
Thallius Swing Tabelle nach Datumsspalte sortieren AWT, Swing, JavaFX & SWT 4
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
E Tabelle zeigt nicht neuste Datenbankeinträge an AWT, Swing, JavaFX & SWT 5
F SWT Problem mit Tabelle und Combobox in einem Wizard AWT, Swing, JavaFX & SWT 5
D Swing JTable- Meine Tabelle der Klasse JTable wird nur bedingt angezeigt AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben