3636import javafx .scene .control .ListView ;
3737import javafx .scene .control .MenuItem ;
3838import javafx .scene .control .MultipleSelectionModel ;
39+ import javafx .scene .control .SelectionMode ;
3940import javafx .scene .control .Spinner ;
4041import javafx .scene .control .SpinnerValueFactory .IntegerSpinnerValueFactory ;
4142import javafx .scene .control .TextField ;
@@ -97,23 +98,25 @@ public ProjectsListViewController(final Model model, final Controller controller
9798 return false ;
9899 });
99100 LOG .debug ("Amount of projects to show '{}'." , filteredData .size ());
101+ availableProjectsListView .getSelectionModel ().selectFirst ();
102+ availableProjectsListView .scrollTo (0 );
100103 });
101104
102105 searchTextField .setOnKeyPressed (eh -> {
103106 final MultipleSelectionModel <Project > selectionModel = availableProjectsListView .getSelectionModel ();
104- final int selectedIndex = selectionModel .getSelectedIndex ();
105107 switch (eh .getCode ()) {
106108 case UP :
107109 LOG .debug ("Arrow up pressed." );
108- selectionModel .select ( selectedIndex - 1 );
110+ selectionModel .selectPrevious ( );
109111 eh .consume ();
110112 break ;
111113 case DOWN :
112114 LOG .debug ("Arrow down pressed." );
113- selectionModel .select ( selectedIndex + 1 );
115+ selectionModel .selectNext ( );
114116 eh .consume ();
115117 break ;
116118 case ESCAPE :
119+ LOG .debug ("Esc pressed." );
117120 if (hideable ) {
118121 mainStage .hide ();
119122 }
@@ -123,7 +126,6 @@ public ProjectsListViewController(final Model model, final Controller controller
123126 break ;
124127 }
125128 availableProjectsListView .scrollTo (selectionModel .getSelectedIndex ());
126- LOG .debug ("Selected list item index '{}'." , selectionModel .getSelectedIndex ());
127129 });
128130
129131 // enter pressed in textfield
@@ -135,6 +137,7 @@ public ProjectsListViewController(final Model model, final Controller controller
135137 }
136138 });
137139
140+ availableProjectsListView .getSelectionModel ().setSelectionMode (SelectionMode .SINGLE );
138141 availableProjectsListView .getSelectionModel ().selectFirst ();
139142 }
140143
0 commit comments