3838import javafx .scene .control .ComboBox ;
3939import javafx .scene .control .DatePicker ;
4040import javafx .scene .control .ListCell ;
41- import javafx .scene .control .ListView ;
4241import javafx .scene .control .Spinner ;
4342import javafx .scene .control .SpinnerValueFactory ;
4443import javafx .scene .control .TextArea ;
4544import javafx .scene .layout .GridPane ;
4645import javafx .scene .paint .Color ;
47- import javafx .util .Callback ;
4846import javafx .util .StringConverter ;
4947import javafx .util .converter .LocalTimeStringConverter ;
5048
@@ -113,10 +111,6 @@ private void initialize() {
113111
114112 startTimeSpinner .setValueFactory (new SpinnerValueFactory <LocalTime >() {
115113
116- {
117- setConverter (new LocalTimeStringConverter (FormatStyle .MEDIUM ));
118- }
119-
120114 @ Override
121115 public void decrement (final int steps ) {
122116 if (getValue () == null ) {
@@ -140,11 +134,10 @@ public void increment(final int steps) {
140134 }
141135
142136 });
143- endTimeSpinner .setValueFactory (new SpinnerValueFactory <LocalTime >() {
144137
145- {
146- setConverter ( new LocalTimeStringConverter ( FormatStyle . MEDIUM ));
147- }
138+ startTimeSpinner . getValueFactory (). setConverter ( new LocalTimeStringConverter ( FormatStyle . MEDIUM ));
139+
140+ endTimeSpinner . setValueFactory ( new SpinnerValueFactory < LocalTime >() {
148141
149142 @ Override
150143 public void decrement (final int steps ) {
@@ -169,31 +162,26 @@ public void increment(final int steps) {
169162 }
170163
171164 });
165+ endTimeSpinner .getValueFactory ().setConverter (new LocalTimeStringConverter (FormatStyle .MEDIUM ));
172166
173167 setUpComboBox ();
174168
175169 }
176170
177171 private void setUpComboBox () {
178172 // color Dropdown Options
179- projectComboBox .setCellFactory (new Callback < ListView < Project >, ListCell <Project > >() {
173+ projectComboBox .setCellFactory (listView -> new ListCell <Project >() {
180174
181175 @ Override
182- public ListCell <Project > call (final ListView <Project > l ) {
183- return new ListCell <Project >() {
184-
185- @ Override
186- protected void updateItem (final Project item , final boolean empty ) {
187- super .updateItem (item , empty );
188- if (item == null || empty ) {
189- setGraphic (null );
190- } else {
191- setColor (this , item .getColor ());
192- setText (item .getName ());
193-
194- }
195- }
196- };
176+ protected void updateItem (final Project item , final boolean empty ) {
177+ super .updateItem (item , empty );
178+ if (item == null || empty ) {
179+ setGraphic (null );
180+ } else {
181+ setColor (this , item .getColor ());
182+ setText (item .getName ());
183+
184+ }
197185 }
198186 });
199187
@@ -218,25 +206,22 @@ public Project fromString(final String string) {
218206 // needs to set again because editable is ignored from fxml because of custom preselection
219207 projectComboBox .setEditable (true );
220208
221- projectComboBox .valueProperty ().addListener (new ChangeListener <Project >() {
209+ projectComboBox .valueProperty ().addListener (
210+ (final ObservableValue <? extends Project > observable , final Project oldValue , final Project newValue ) -> {
211+ if (newValue == null ) {
212+ return ;
213+ }
222214
223- @ Override
224- public void changed (final ObservableValue <? extends Project > observable , final Project oldValue ,
225- final Project newValue ) {
226- if (newValue == null ) {
227- return ;
215+ selectedProject = newValue ;
216+ comboChange = true ;
217+ // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
218+ Platform .runLater (() -> {
219+ projectComboBox .getEditor ().selectAll ();
220+ setColor (projectComboBox , newValue .getColor ());
221+ });
228222 }
229223
230- selectedProject = newValue ;
231- comboChange = true ;
232- // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
233- Platform .runLater (() -> {
234- projectComboBox .getEditor ().selectAll ();
235- setColor (projectComboBox , newValue .getColor ());
236- });
237-
238- }
239- });
224+ );
240225
241226 projectComboBox .getEditor ().textProperty ().addListener (new ChangeListener <String >() {
242227
@@ -255,15 +240,15 @@ public void changed(final ObservableValue<? extends String> observable, final St
255240 }
256241
257242 // is necessary to not autoselect same Project if Project was selected
258- if (isValidProject ) {
243+ if (Boolean . TRUE . equals ( isValidProject ) ) {
259244 isValidProject = false ;
260245 projectComboBox .getSelectionModel ().clearSelection ();
261246 }
262247 // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
263248 Platform .runLater (() -> {
264249
265250 projectComboBox .hide ();
266- projectComboBox .setItems (model .getAllProjects ().filtered (( project ) -> ProjectsListViewController
251+ projectComboBox .setItems (model .getAllProjects ().filtered (project -> ProjectsListViewController
267252 .doesProjectMatchSearchFilter (projectComboBox .getEditor ().getText (), project )));
268253 if (projectComboBox .getEditor ().focusedProperty ().get ()) {
269254 projectComboBox .show ();
@@ -274,20 +259,16 @@ public void changed(final ObservableValue<? extends String> observable, final St
274259 }
275260 });
276261
277- projectComboBox .getEditor ().focusedProperty ().addListener (new ChangeListener <Boolean >() {
278-
279- @ Override
280- public void changed (final ObservableValue <? extends Boolean > observable , final Boolean oldIsFocused ,
281- final Boolean newIsFocused ) {
282- if (newIsFocused ) {
283- // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
284- Platform .runLater (() -> projectComboBox .getEditor ().selectAll ());
285- } else {
286- // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
287- Platform .runLater (() -> projectComboBox .hide ());
288- }
289-
262+ projectComboBox .getEditor ().focusedProperty ().addListener ((final ObservableValue <? extends Boolean > observable ,
263+ final Boolean oldIsFocused , final Boolean newIsFocused ) -> {
264+ if (Boolean .TRUE .equals (newIsFocused )) {
265+ // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
266+ Platform .runLater (() -> projectComboBox .getEditor ().selectAll ());
267+ } else {
268+ // needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
269+ Platform .runLater (() -> projectComboBox .hide ());
290270 }
271+
291272 });
292273
293274 }
0 commit comments