Wie der Titel sagt, ich frage mich, ob Sie könnten mich auf ein Dokument verweisen, oder geben Sie mir Rat hier, auf das Design (GUI Design) Form, die Hauptteil von jtable besetzt ist, die mehrere Filter hat. Hauptziel ist es, visuelle Unordnung zu vermeiden.JTable Multiple Filter Design Paradigma
Antwort
Ich habe in der Vergangenheit eine einfache TableFilterPanel
implementiert, die eine JTextField
pro Tabellenspalte hat und die Anpassung regulärer Ausdrücke durchführt, wenn Text in einem bestimmten Feld vorhanden ist. Normalerweise lege ich das als eine Liste von vertikalen Etiketten + Textfeldern dar (d. H., Es ist also ziemlich kompakt).
Meine Schlüsselklasse ColumnSearcher
genannt wird, die die Fähigkeit bietet eine RowFilter
mit den Inhalten des JTextField
herzustellen:
protected class ColumnSearcher {
private final int[] columns;
private final JTextField textField;
public ColumnSearcher(int column, JTextField textField) {
this.columns = new int[1];
this.textField = textField;
this.columns[0] = column;
}
public JTextField getTextField() {
return textField;
}
public boolean isEmpty() {
String txt = textField.getText();
return txt == null || txt.trim().length() == 0;
}
/**
* @return Filter based on the associated text field's value, or null if the text does not compile to a valid
* Pattern, or the text field is empty/contains whitespace.
*/
public RowFilter<Object, Object> createFilter() {
RowFilter<Object, Object> ftr = null;
if (!isEmpty()) {
try {
ftr = new RegexFilter(Pattern.compile(textField.getText(), Pattern.CASE_INSENSITIVE), columns);
} catch(PatternSyntaxException ex) {
// Do nothing.
}
}
return ftr;
}
}
Wenn ich wünsche die Filtereinstellungen ich ein „und“ Filter von jedem bauen sich ändern Einzelfilter:
protected RowFilter<Object, Object> createRowFilter() {
RowFilter<Object, Object> ret;
java.util.List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(columnSearchers.length);
for (ColumnSearcher cs : columnSearchers) {
RowFilter<Object, Object> filter = cs.createFilter();
if (filter != null) {
filters.add(filter);
}
}
if (filters.isEmpty()) {
ret = NULL_FILTER;
} else {
ret = RowFilter.andFilter(filters);
}
return ret;
}
Normalerweise feuern ich ein PropertyChangeEvent
, wenn ich die Filter aktualisieren möchten und haben ein Property darauf reagieren und mein Aggregat Filter wieder aufzubauen. Sie können dann den "rowFilter" PropertyChangeEvent
auslösen, wenn der Benutzer eines der Textfelder eingibt (z. B. durch Hinzufügen eines DocumentListener
zu jedem JTextField
).
Hoffe, dass hilft.
Nice one Adamski – willcodejavaforfood
- 1. Java 1.5 Filter JTable
- 2. Multiple Domains Site Design Entscheidung
- 3. Android Service Multiple Thread Design
- 4. PHP-Filter (Multiple Dropdown-Liste)
- 5. Frage zum IIS Paradigma arbeitet
- 6. JTable für JPanel mit multiple type JComponent (Swing)
- 7. Datenbankanwendung mit MVC-Paradigma
- 8. Laufende Balance und Datenbank Normalisierung Paradigma
- 9. Entspricht Drupal dem MVC-Paradigma?
- 10. Neo4j - Objektorientiertes Paradigma mit Py2neo
- 11. JTable RowFilter
- 12. Erstellen Sie einen Filter mit einem Multiple Input Codeigniter
- 13. Wie funktioniert JTable RowFilter?
- 14. visuelles Paradigma umgekehrter Java-Code, Klassendiagramm
- 15. JavaFX ContextMenu in einem funktionalen Paradigma
- 16. Caching "dies" bei Jquery Boilerplate Paradigma?
- 17. Kurento: multiple mediapipeline mux
- 18. Jquery multiple div toggle
- 19. Multiple ContainerRequestFilter für Jersey
- 20. Ordnen Sie zwei Funktionen im Functional Programming Paradigma zusammen
- 21. FIR Filter Design in C++ mit Koeffizienten von MATLAB, Filter gibt keine korrekten Ergebnisse
- 22. Notwendigkeit, "grep" Multiple Output
- 23. JTable-Zeilenkopfimplementierung
- 24. JTable Spaltenaufteilung
- 25. DataGridView multiple column search
- 26. JTable width layout
- 27. Design Patterns mit Schauspielern
- 28. Design Patterns in Rails
- 29. Standardlängenattribut für <select multiple = "multiple">
- 30. Domain Driven Design in der funktionalen Programmierung?
Woher kommen die Daten? Eine relationale Datenbank? – Allan
ja, db ... ich suche eine gui design guidline .... – tropikalista