@@ -119,30 +119,7 @@ public SwingSearchBar(final Context context, final Window parent) {
119119 context .inject (this );
120120
121121 addActionListener (e -> run ());
122- addKeyListener (new KeyAdapter () {
123-
124- @ Override
125- public void keyPressed (final KeyEvent e ) {
126- switch (e .getKeyCode ()) {
127- case KeyEvent .VK_UP :
128- if (searchPanel != null ) searchPanel .up ();
129- e .consume ();
130- break ;
131- case KeyEvent .VK_DOWN :
132- if (searchPanel != null ) searchPanel .down ();
133- e .consume ();
134- break ;
135- case KeyEvent .VK_TAB :
136- if (searchPanel != null ) searchPanel .requestFocus ();
137- e .consume ();
138- break ;
139- case KeyEvent .VK_ESCAPE :
140- reset ();
141- break ;
142- }
143- }
144-
145- });
122+ addKeyListener (new SearchBarKeyAdapter ());
146123 getDocument ().addDocumentListener (new DocumentListener () {
147124
148125 @ Override
@@ -358,12 +335,13 @@ public SwingSearchPanel() {
358335 reset ();
359336 }
360337 });
338+ button .addKeyListener (new SearchBarKeyAdapter ());
361339 detailsButtons .add (button );
362340 });
363341 }
364342 });
365343
366- resultsList .addKeyListener (new SearchPanelKeyAdapter ());
344+ resultsList .addKeyListener (new SearchBarKeyAdapter ());
367345
368346 setLayout (new BorderLayout ());
369347 setPreferredSize (new Dimension (800 , 300 ));
@@ -510,7 +488,7 @@ private boolean isFirstNonHeader(final int index) {
510488 }
511489 }
512490
513- private class SearchPanelKeyAdapter extends KeyAdapter {
491+ private class SearchBarKeyAdapter extends KeyAdapter {
514492 @ Override
515493 public void keyPressed (final KeyEvent e ) {
516494 switch (e .getKeyCode ()) {
@@ -522,6 +500,10 @@ public void keyPressed(final KeyEvent e) {
522500 if (searchPanel != null ) searchPanel .down ();
523501 e .consume ();
524502 break ;
503+ case KeyEvent .VK_TAB :
504+ if (searchPanel != null ) searchPanel .requestFocus ();
505+ e .consume ();
506+ break ;
525507 case KeyEvent .VK_ESCAPE :
526508 reset ();
527509 break ;
0 commit comments