Skip to content

Commit c1a3429

Browse files
frauzufallctrueden
authored andcommitted
searchbar: adds esc keylistener to resultslist
1 parent e77fc95 commit c1a3429

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/main/java/org/scijava/ui/swing/search/SwingSearchBar.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,15 @@
3434
import java.awt.BorderLayout;
3535
import java.awt.Color;
3636
import java.awt.Component;
37+
import java.awt.Container;
3738
import java.awt.Dimension;
3839
import java.awt.GridLayout;
3940
import java.awt.Window;
4041
import java.awt.event.FocusEvent;
4142
import java.awt.event.FocusListener;
4243
import java.awt.event.KeyAdapter;
4344
import java.awt.event.KeyEvent;
45+
import java.awt.event.KeyListener;
4446
import java.net.URL;
4547
import java.util.Collections;
4648
import java.util.Comparator;
@@ -50,11 +52,13 @@
5052
import java.util.function.Function;
5153
import java.util.stream.Collectors;
5254

55+
import javax.swing.AbstractButton;
5356
import javax.swing.Box;
5457
import javax.swing.BoxLayout;
5558
import javax.swing.DefaultListModel;
5659
import javax.swing.ImageIcon;
5760
import javax.swing.JButton;
61+
import javax.swing.JComboBox;
5862
import javax.swing.JDialog;
5963
import javax.swing.JLabel;
6064
import javax.swing.JList;
@@ -357,6 +361,8 @@ public SwingSearchPanel() {
357361
});
358362
}
359363
});
364+
365+
resultsList.addKeyListener(new SearchPanelKeyAdapter());
360366

361367
setLayout(new BorderLayout());
362368
setPreferredSize(new Dimension(800, 300));
@@ -365,6 +371,7 @@ public SwingSearchPanel() {
365371
splitPane.setLeftComponent(resultsPane);
366372
splitPane.setRightComponent(detailsPane);
367373
add(splitPane, BorderLayout.CENTER);
374+
368375
}
369376

370377
public void search(final String text) {
@@ -503,6 +510,17 @@ private boolean isFirstNonHeader(final int index) {
503510
return true;
504511
}
505512
}
513+
514+
private class SearchPanelKeyAdapter extends KeyAdapter {
515+
@Override
516+
public void keyPressed(final KeyEvent e) {
517+
switch (e.getKeyCode()) {
518+
case KeyEvent.VK_ESCAPE:
519+
reset();
520+
break;
521+
}
522+
}
523+
}
506524

507525
/** A header dividing search result entries. */
508526
private class SearchResultHeader implements SearchResult {

0 commit comments

Comments
 (0)