@@ -83,61 +83,30 @@ public void setModel(final Model model) {
8383
8484 @ FXML
8585 private void initialize () {
86- startTimeSpinner .getEditor ().textProperty ().addListener ((observable , oldValue , newValue ) -> {
87- final LocalTimeStringConverter stringConverter = new LocalTimeStringConverter (FormatStyle .MEDIUM );
88- final StringProperty text = (StringProperty ) observable ;
89- try {
90- stringConverter .fromString (newValue );
91- text .setValue (newValue );
92- // needed to log in value from editor to spinner
93- startTimeSpinner .increment (0 ); // TODO find better Solution
94- } catch (final DateTimeParseException e ) {
95- text .setValue (oldValue );
96- }
97- });
9886
99- endTimeSpinner .getEditor ().textProperty ().addListener ((observable , oldValue , newValue ) -> {
87+ setUpTimeSpinner (startTimeSpinner );
88+
89+ setUpTimeSpinner (endTimeSpinner );
90+
91+ setProjectUpComboBox ();
92+
93+ }
94+
95+ private void setUpTimeSpinner (final Spinner <LocalTime > spinner ) {
96+ spinner .getEditor ().textProperty ().addListener ((observable , oldValue , newValue ) -> {
10097 final LocalTimeStringConverter stringConverter = new LocalTimeStringConverter (FormatStyle .MEDIUM );
10198 final StringProperty text = (StringProperty ) observable ;
10299 try {
103100 stringConverter .fromString (newValue );
104101 text .setValue (newValue );
105102 // needed to log in value from editor to spinner
106- endTimeSpinner .increment (0 ); // TODO find better Solution
103+ spinner .increment (0 ); // TODO find better Solution
107104 } catch (final DateTimeParseException e ) {
108105 text .setValue (oldValue );
109106 }
110107 });
111108
112- startTimeSpinner .setValueFactory (new SpinnerValueFactory <LocalTime >() {
113-
114- @ Override
115- public void decrement (final int steps ) {
116- if (getValue () == null ) {
117- setValue (LocalTime .now ());
118- } else {
119- final LocalTime time = getValue ();
120- setValue (time .minusMinutes (steps ));
121- }
122-
123- }
124-
125- @ Override
126- public void increment (final int steps ) {
127- if (getValue () == null ) {
128- setValue (LocalTime .now ());
129- } else {
130- final LocalTime time = getValue ();
131- setValue (time .plusMinutes (steps ));
132- }
133-
134- }
135-
136- });
137-
138- startTimeSpinner .getValueFactory ().setConverter (new LocalTimeStringConverter (FormatStyle .MEDIUM ));
139-
140- endTimeSpinner .setValueFactory (new SpinnerValueFactory <LocalTime >() {
109+ spinner .setValueFactory (new SpinnerValueFactory <LocalTime >() {
141110
142111 @ Override
143112 public void decrement (final int steps ) {
@@ -162,24 +131,23 @@ public void increment(final int steps) {
162131 }
163132
164133 });
165- endTimeSpinner .getValueFactory ().setConverter (new LocalTimeStringConverter (FormatStyle .MEDIUM ));
166134
167- setUpComboBox ( );
135+ spinner . getValueFactory (). setConverter ( new LocalTimeStringConverter ( FormatStyle . MEDIUM ) );
168136
169137 }
170138
171- private void setUpComboBox () {
139+ private void setProjectUpComboBox () {
172140 // color Dropdown Options
173141 projectComboBox .setCellFactory (listView -> new ListCell <Project >() {
174142
175143 @ Override
176- protected void updateItem (final Project item , final boolean empty ) {
177- super .updateItem (item , empty );
178- if (item == null || empty ) {
144+ protected void updateItem (final Project project , final boolean empty ) {
145+ super .updateItem (project , empty );
146+ if (project == null || empty ) {
179147 setGraphic (null );
180148 } else {
181- setColor (this , item .getColor ());
182- setText (item .getName ());
149+ setColor (this , project .getColor ());
150+ setText (project .getName ());
183151
184152 }
185153 }
@@ -198,12 +166,12 @@ public String toString(final Project project) {
198166
199167 @ Override
200168 public Project fromString (final String string ) {
201-
169+ // ignores String and gets selected Value of ComboBox
202170 return projectComboBox .getValue ();
203171 }
204172 });
205173
206- // needs to set again because editable is ignored from fxml because of custom preselection
174+ // needs to set again because editable is ignored from fxml because of custom preselection of current Project
207175 projectComboBox .setEditable (true );
208176
209177 projectComboBox .valueProperty ().addListener (
@@ -259,6 +227,7 @@ public void changed(final ObservableValue<? extends String> observable, final St
259227 }
260228 });
261229
230+ // manages Focusbehaviour
262231 projectComboBox .getEditor ().focusedProperty ().addListener ((final ObservableValue <? extends Boolean > observable ,
263232 final Boolean oldIsFocused , final Boolean newIsFocused ) -> {
264233 if (Boolean .TRUE .equals (newIsFocused )) {
0 commit comments