From 976b67b889d3b9df7553cf7d13552b8e9821d95a Mon Sep 17 00:00:00 2001 From: James Ball Date: Mon, 23 Nov 2020 22:56:17 +0000 Subject: [PATCH] Add Settable interface and SliderUpdatable class --- src/gui/Settable.java | 7 +++++++ src/gui/SliderUpdater.java | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/gui/Settable.java create mode 100644 src/gui/SliderUpdater.java diff --git a/src/gui/Settable.java b/src/gui/Settable.java new file mode 100644 index 00000000..4b0ca44b --- /dev/null +++ b/src/gui/Settable.java @@ -0,0 +1,7 @@ +package gui; + +@FunctionalInterface +public interface Settable { + + void set(T value); +} diff --git a/src/gui/SliderUpdater.java b/src/gui/SliderUpdater.java new file mode 100644 index 00000000..58319ac8 --- /dev/null +++ b/src/gui/SliderUpdater.java @@ -0,0 +1,19 @@ +package gui; + +import java.util.function.Consumer; + +public class SliderUpdater { + + private final Settable settable; + private final Consumer function; + + public SliderUpdater(Settable settable, Consumer function) { + this.settable = settable; + this.function = function; + } + + public void update(T value) { + settable.set(value.toString()); + function.accept(value); + } +}