Skip to content
Snippets Groups Projects
Commit 3576988e authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #194 - datepicker replace textfield year with spinner

parent 439a9f2b
Branches
Tags
1 merge request!213merge v1_6_0 into master
...@@ -12,8 +12,8 @@ import javafx.fxml.FXML; ...@@ -12,8 +12,8 @@ import javafx.fxml.FXML;
import javafx.scene.control.Alert.AlertType; import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField; import javafx.scene.control.Spinner;
import javafx.scene.control.TextFormatter; import javafx.scene.control.SpinnerValueFactory;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import javafx.stage.Modality; import javafx.stage.Modality;
import javafx.stage.Stage; import javafx.stage.Stage;
...@@ -24,7 +24,7 @@ import tools.Localization; ...@@ -24,7 +24,7 @@ import tools.Localization;
public class DatePickerController extends BaseController implements Styleable public class DatePickerController extends BaseController implements Styleable
{ {
@FXML private ComboBox<String> comboBoxMonth; @FXML private ComboBox<String> comboBoxMonth;
@FXML private TextField textFieldYear; @FXML private Spinner<Integer> spinnerYear;
@FXML private Button buttonCancel; @FXML private Button buttonCancel;
@FXML private Button buttonConfirm; @FXML private Button buttonConfirm;
...@@ -54,23 +54,15 @@ public class DatePickerController extends BaseController implements Styleable ...@@ -54,23 +54,15 @@ public class DatePickerController extends BaseController implements Styleable
@Override @Override
public void init() public void init()
{ {
textFieldYear.setTextFormatter(new TextFormatter<>(c -> { SpinnerValueFactory<Integer> spinnerYearValueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 3000, currentDate.getYear());
if(c.getControlNewText().isEmpty()) 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.getItems().addAll(Helpers.getMonthList());
comboBoxMonth.setValue(Helpers.getMonthList().get(currentDate.getMonthOfYear()-1)); comboBoxMonth.setValue(Helpers.getMonthList().get(currentDate.getMonthOfYear()-1));
...@@ -80,7 +72,7 @@ public class DatePickerController extends BaseController implements Styleable ...@@ -80,7 +72,7 @@ public class DatePickerController extends BaseController implements Styleable
public void confirm() public void confirm()
{ {
String year = textFieldYear.getText(); String year = String.valueOf(spinnerYear.getValue());
if(year == null || year.equals("")) if(year == null || year.equals(""))
{ {
AlertGenerator.showAlert(AlertType.WARNING, AlertGenerator.showAlert(AlertType.WARNING,
......
...@@ -250,7 +250,7 @@ public class NewPaymentController extends BaseController implements Styleable ...@@ -250,7 +250,7 @@ public class NewPaymentController extends BaseController implements Styleable
{ {
SpinnerValueFactory<Integer> valueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 1000, 0); SpinnerValueFactory<Integer> valueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory(1, 1000, 0);
spinnerRepeatingPeriod.setValueFactory(valueFactory); spinnerRepeatingPeriod.setValueFactory(valueFactory);
spinnerRepeatingPeriod.setEditable(true); spinnerRepeatingPeriod.setEditable(false);
spinnerRepeatingPeriod.focusedProperty().addListener((observable, oldValue, newValue) -> { spinnerRepeatingPeriod.focusedProperty().addListener((observable, oldValue, newValue) -> {
if(!newValue) if(!newValue)
{ {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<?import javafx.scene.control.Button?> <?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?> <?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?> <?import javafx.scene.control.Spinner?>
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?> <?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
...@@ -33,11 +33,7 @@ ...@@ -33,11 +33,7 @@
<Font name="System Bold" size="14.0" /> <Font name="System Bold" size="14.0" />
</font> </font>
</Label> </Label>
<TextField fx:id="textFieldYear" maxWidth="1.7976931348623157E308" prefHeight="29.0"> <Spinner fx:id="spinnerYear" editable="true" maxWidth="1.7976931348623157E308" minHeight="29.0" minWidth="163.0" prefHeight="29.0" prefWidth="163.0" />
<font>
<Font size="13.0" />
</font>
</TextField>
</children> </children>
</VBox> </VBox>
</children> </children>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment