summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java')
-rw-r--r--src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java b/src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java
new file mode 100644
index 0000000..2050536
--- /dev/null
+++ b/src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java
@@ -0,0 +1,75 @@
+/**
+ * Class CardChangeEvent.
+ */
+
+package de.fhswf.in.inf.java2.aufgabe02;
+
+import javafx.collections.ObservableList;
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+import javafx.scene.Node;
+import javafx.scene.control.Label;
+
+/**
+ * Generic handler for loading Labels on button click.
+ *
+ * @author $Author: $
+ * @version $Revision: $, $Date: $ UTC
+ */
+public class CardChangeEvent implements EventHandler<ActionEvent>
+{
+
+ private ObservableList<Node> children;
+
+ private String labelName;
+
+ private Label label = null;
+
+ /**
+ * Adds an eventHandler for the button so that a label is loaded into the
+ * stack pane.
+ *
+ */
+ public CardChangeEvent(ObservableList<Node> children, String labelName)
+ {
+ if (children == null)
+ {
+ throw new IllegalArgumentException("children can't be null.");
+ }
+
+ if (labelName == null)
+ {
+ throw new IllegalArgumentException("labelName can't be null.");
+ }
+
+ if (labelName.isEmpty())
+ {
+ throw new IllegalArgumentException("labelName can't be empty.");
+ }
+
+ this.children = children;
+ this.labelName = labelName;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javafx.event.EventHandler#handle(javafx.event.Event)
+ */
+ @Override
+ public void handle(ActionEvent event)
+ {
+ for (Node node : children)
+ {
+ node.setVisible(false);
+ }
+
+ if (label == null)
+ {
+ label = new Label(labelName);
+ children.add(label);
+ }
+
+ label.setVisible(true);
+ }
+}