diff options
Diffstat (limited to 'src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java')
| -rw-r--r-- | src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java | 75 |
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); + } +} |
