diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-03-31 11:19:32 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-03-31 11:19:32 +0200 |
| commit | e53db140f27e405f4e541ad23b737836db36b2ad (patch) | |
| tree | 8646193cd16ff1b4d0c1b95a4b7c8f2f18d21468 /src/de/fhswf/in/inf/java2/aufgabe02/CardChangeEvent.java | |
| parent | bafe58a20a02e79b2af61c7b179e7d9ff68b8a4f (diff) | |
| download | Java2-e53db140f27e405f4e541ad23b737836db36b2ad.tar.gz Java2-e53db140f27e405f4e541ad23b737836db36b2ad.zip | |
Exercise No.2.1 with extra MainBorderPain
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); + } +} |
