diff options
author | Jonathan Bauer | 2015-08-05 16:29:46 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-05 16:29:46 +0200 |
commit | 4ace2b8f9be497df9711e5770d0bc667c3350f45 (patch) | |
tree | fce8109782a362fb300a8c5b1d76bb754826c6d4 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java | |
parent | [client] first draft at UserListWindow (diff) | |
download | tutor-module-4ace2b8f9be497df9711e5770d0bc667c3350f45.tar.gz tutor-module-4ace2b8f9be497df9711e5770d0bc667c3350f45.tar.xz tutor-module-4ace2b8f9be497df9711e5770d0bc667c3350f45.zip |
[client] search user text field actually filters
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java index a6df2332..680a934a 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/UserListWindow.java @@ -1,5 +1,6 @@ package org.openslx.dozmod.gui.window; +import java.awt.Color; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -9,6 +10,11 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.List; +import javax.swing.RowFilter; +import javax.swing.UIManager; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; + import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.UserInfo; import org.openslx.dozmod.gui.Gui; @@ -45,6 +51,30 @@ public class UserListWindow extends UserListWindowLayout { } }); + // filter the objects in the table depending on the search field + searchUserField.getDocument().addDocumentListener(new DocumentListener() { + @Override + public void removeUpdate(DocumentEvent e) { + changedUpdate(e); + } + + @Override + public void insertUpdate(DocumentEvent e) { + changedUpdate(e); + } + + @Override + public void changedUpdate(DocumentEvent e) { + try { + userTable.getRowSorter().setRowFilter(RowFilter.regexFilter("(?i)"+searchUserField.getText(), 0)); + searchUserField.setForeground(UIManager.getColor("TextField.foreground")); + } catch (IllegalArgumentException ex) { + // TODO set background color of search field to something redish + searchUserField.setForeground(Color.RED); + } + } + }); + // ActionListener for the two buttons final ActionListener al = new ActionListener() { @Override |