From 298145b68d4ef573382259c356490b7a9be90e77 Mon Sep 17 00:00:00 2001 From: Dirk Lemmermann Date: Wed, 3 Apr 2024 14:15:17 +0200 Subject: [PATCH] Removed "dangerous" constructor for Segment. --- .../java/com/dlsc/pickerfx/DigitsSegment.java | 3 ++- .../src/main/java/com/dlsc/pickerfx/Segment.java | 16 +--------------- .../dlsc/pickerfx/skins/DurationPickerSkin.java | 6 +++--- .../dlsc/pickerfx/skins/LocalDatePickerSkin.java | 3 ++- 4 files changed, 8 insertions(+), 20 deletions(-) diff --git a/pickerfx/src/main/java/com/dlsc/pickerfx/DigitsSegment.java b/pickerfx/src/main/java/com/dlsc/pickerfx/DigitsSegment.java index 82ac3a6..991d049 100644 --- a/pickerfx/src/main/java/com/dlsc/pickerfx/DigitsSegment.java +++ b/pickerfx/src/main/java/com/dlsc/pickerfx/DigitsSegment.java @@ -12,6 +12,7 @@ public class DigitsSegment extends Segment { * @param picker the parent picker control */ public DigitsSegment(Picker picker) { - super(picker, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9); + super(picker); + getItems().setAll(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); } } diff --git a/pickerfx/src/main/java/com/dlsc/pickerfx/Segment.java b/pickerfx/src/main/java/com/dlsc/pickerfx/Segment.java index 2601967..136e03b 100644 --- a/pickerfx/src/main/java/com/dlsc/pickerfx/Segment.java +++ b/pickerfx/src/main/java/com/dlsc/pickerfx/Segment.java @@ -40,22 +40,12 @@ public class Segment extends Control { private final Picker picker; - /** - * Creates a new instance of a segment with no items and {@code null} value. - * @param picker The picker parent of this segment control. - */ - public Segment(Picker picker) { - this(picker, (S) null); - } - /** * Creates a new instance of a segment with the given list of items and {@code null} value. * * @param picker The picker parent of this segment control. - * @param items The default items in the segment. */ - @SafeVarargs - public Segment(Picker picker, S... items) { + public Segment(Picker picker) { this.picker = Objects.requireNonNull(picker); getStyleClass().add("segment"); @@ -66,10 +56,6 @@ public Segment(Picker picker, S... items) { setCellFactory(p -> new SegmentCell<>()); readOnlyProperty().bind(picker.readOnlyProperty()); - - if (items != null) { - getItems().setAll(items); - } } @Override diff --git a/pickerfx/src/main/java/com/dlsc/pickerfx/skins/DurationPickerSkin.java b/pickerfx/src/main/java/com/dlsc/pickerfx/skins/DurationPickerSkin.java index e42e531..b31fe4f 100644 --- a/pickerfx/src/main/java/com/dlsc/pickerfx/skins/DurationPickerSkin.java +++ b/pickerfx/src/main/java/com/dlsc/pickerfx/skins/DurationPickerSkin.java @@ -112,13 +112,13 @@ private Segment createSegment(ChronoUnit unit) { return field; } - private void addItems(Segment field, long maxValue) { + private void addItems(Segment fieldSegment, long maxValue) { + fieldSegment.getItems().clear(); for (long i = 0; i <= maxValue; i++) { - field.getItems().add(i); + fieldSegment.getItems().add(i); } } - private void updateSegmentValues() { if (updatingValue) { return; diff --git a/pickerfx/src/main/java/com/dlsc/pickerfx/skins/LocalDatePickerSkin.java b/pickerfx/src/main/java/com/dlsc/pickerfx/skins/LocalDatePickerSkin.java index aca8a56..05fbacf 100644 --- a/pickerfx/src/main/java/com/dlsc/pickerfx/skins/LocalDatePickerSkin.java +++ b/pickerfx/src/main/java/com/dlsc/pickerfx/skins/LocalDatePickerSkin.java @@ -23,7 +23,8 @@ public LocalDatePickerSkin(LocalDatePicker picker) { InvalidationListener updateValueListener = it -> updateValue(); - daySegment = new Segment<>(picker, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31); + daySegment = new Segment<>(picker); + daySegment.getItems().setAll(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31); daySegment.getStyleClass().add("day"); daySegment.valueProperty().addListener(updateValueListener); daySegment.cellFactoryProperty().bind(picker.dayCellFactoryProperty());