diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java b/src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java
index ea27d833d163f4df53f3f2810862bcd6eb8d1413..0e4b32324540ab41db1746828fe001d30edd7c65 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java
@@ -12,8 +12,8 @@ import javafx.fxml.FXML;
 import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Button;
 import javafx.scene.control.ComboBox;
-import javafx.scene.control.TextField;
-import javafx.scene.control.TextFormatter;
+import javafx.scene.control.Spinner;
+import javafx.scene.control.SpinnerValueFactory;
 import javafx.scene.paint.Color;
 import javafx.stage.Modality;
 import javafx.stage.Stage;
@@ -24,7 +24,7 @@ import tools.Localization;
 public class DatePickerController extends BaseController implements Styleable
 {
 	@FXML private ComboBox<String> comboBoxMonth;
-	@FXML private TextField textFieldYear;
+	@FXML private Spinner<Integer> spinnerYear;
 	@FXML private Button buttonCancel;
 	@FXML private Button buttonConfirm;
 	
@@ -54,23 +54,15 @@ public class DatePickerController extends BaseController implements Styleable
 	@Override
 	public void init()
 	{
-		textFieldYear.setTextFormatter(new TextFormatter<>(c -> {
-			if(c.getControlNewText().isEmpty())
+		SpinnerValueFactory<Integer> spinnerYearValueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 3000, currentDate.getYear()); 
+		spinnerYear.setValueFactory(spinnerYearValueFactory);
+		spinnerYear.setEditable(false);
+		spinnerYear.focusedProperty().addListener((observable, oldValue, newValue) -> {
+			if(!newValue)
 			{
-				return c;
+				spinnerYear.increment(0); // won't change value, but will commit editor
 			}
-
-			if(c.getControlNewText().matches("[0-9]*"))
-			{
-				return c;
-			}
-			else
-			{
-				return null;
-			}
-		}));
-		
-		textFieldYear.setText(String.valueOf(currentDate.getYear()));
+		});
 		
 		comboBoxMonth.getItems().addAll(Helpers.getMonthList());
 		comboBoxMonth.setValue(Helpers.getMonthList().get(currentDate.getMonthOfYear()-1));
@@ -80,7 +72,7 @@ public class DatePickerController extends BaseController implements Styleable
 
 	public void confirm()
 	{
-		String year = textFieldYear.getText();
+		String year = String.valueOf(spinnerYear.getValue());
 		if(year == null || year.equals(""))
 		{
 			AlertGenerator.showAlert(AlertType.WARNING,
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java b/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
index e74ac7d96b4d62acd2ec0ef0f65d82437b7c410c..c98510f45f98d29acd84ea82e17a7eec7c39a5f7 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
@@ -250,13 +250,13 @@ public class NewPaymentController extends BaseController implements Styleable
 	{
 		SpinnerValueFactory<Integer> valueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 1000, 0);
 		spinnerRepeatingPeriod.setValueFactory(valueFactory);
-		spinnerRepeatingPeriod.setEditable(true);
+		spinnerRepeatingPeriod.setEditable(false);
 		spinnerRepeatingPeriod.focusedProperty().addListener((observable, oldValue, newValue) -> {
 			if(!newValue)
 			{
 				spinnerRepeatingPeriod.increment(0); // won't change value, but will commit editor
 			}
-		});		
+		});
 	}
 	
 	private void initComboBoxRepeatingDay()	
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml b/src/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml
index 7c72d479c9188c0c8281ae504cb215afa5318fdf..76cfb1fd918945eaf673d37de9f704194dc72ed5 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml
+++ b/src/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml
@@ -4,7 +4,7 @@
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.control.ComboBox?>
 <?import javafx.scene.control.Label?>
-<?import javafx.scene.control.TextField?>
+<?import javafx.scene.control.Spinner?>
 <?import javafx.scene.layout.AnchorPane?>
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.layout.VBox?>
@@ -33,11 +33,7 @@
                               <Font name="System Bold" size="14.0" />
                            </font>
                         </Label>
-                        <TextField fx:id="textFieldYear" maxWidth="1.7976931348623157E308" prefHeight="29.0">
-                           <font>
-                              <Font size="13.0" />
-                           </font>
-                        </TextField>
+                        <Spinner fx:id="spinnerYear" editable="true" maxWidth="1.7976931348623157E308" minHeight="29.0" minWidth="163.0" prefHeight="29.0" prefWidth="163.0" />
                      </children>
                   </VBox>
                </children>