functional/SceneGraphTests/src/test/scenegraph/lcd/animation/AnimationLCDTextTestApp.java

Print this page

        

*** 5,33 **** package test.scenegraph.lcd.animation; import javafx.animation.Interpolator; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; ! import javafx.animation.TimelineBuilder; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.ChoiceBox; - import javafx.scene.control.ChoiceBoxBuilder; import javafx.scene.control.TextArea; - import javafx.scene.control.TextAreaBuilder; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; ! import javafx.scene.layout.PaneBuilder; ! import javafx.scene.layout.VBoxBuilder; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; - import javafx.scene.shape.CircleBuilder; import javafx.scene.text.FontSmoothingType; import javafx.scene.text.Text; - import javafx.scene.text.TextBuilder; import javafx.stage.Stage; import javafx.util.Duration; import test.javaclient.shared.Utils; /** --- 5,28 ---- package test.scenegraph.lcd.animation; import javafx.animation.Interpolator; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; ! import javafx.animation.Timeline; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.ChoiceBox; import javafx.scene.control.TextArea; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; ! import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.text.FontSmoothingType; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.util.Duration; import test.javaclient.shared.Utils; /**
*** 46,60 **** @Override public void start(Stage primaryStage) { ! final TextArea testText = TextAreaBuilder.create() ! .text("Test") ! .prefHeight(50) ! .prefWidth(500) ! .build(); final ChoiceBox<Interpolator> interpolatorChoiceBox = new ChoiceBox<Interpolator>(); interpolatorChoiceBox.getItems().addAll(FXCollections.observableArrayList( Interpolator.LINEAR, Interpolator.DISCRETE, --- 41,53 ---- @Override public void start(Stage primaryStage) { ! final TextArea testText = new TextArea("Test"); ! testText.setPrefHeight(50); ! testText.setPrefWidth(500); final ChoiceBox<Interpolator> interpolatorChoiceBox = new ChoiceBox<Interpolator>(); interpolatorChoiceBox.getItems().addAll(FXCollections.observableArrayList( Interpolator.LINEAR, Interpolator.DISCRETE,
*** 66,125 **** interpolatorChoiceBox.setPrefWidth(500); interpolatorChoiceBox.getSelectionModel().selectFirst(); ! final Text lcdText = TextBuilder.create() ! .x(100) ! .y(100) ! .fontSmoothingType(FontSmoothingType.LCD) ! .build(); ! lcdText.textProperty().bind(testText.textProperty()); ! final Circle point = CircleBuilder.create() ! .centerX(100) ! .centerY(100) ! .radius(2) ! .fill(Color.RED) ! .build(); ! ! Pane root = VBoxBuilder.create() ! .children( ! PaneBuilder.create() ! .minWidth(500) ! .minHeight(500) ! .children( ! lcdText, ! point) ! .onMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { point.setCenterX(event.getX()); point.setCenterY(event.getY()); ! TimelineBuilder.create() ! .keyFrames( new KeyFrame(Duration.seconds(5), new KeyValue(lcdText.xProperty(), event.getX(), interpolatorChoiceBox.getSelectionModel().getSelectedItem())), new KeyFrame(Duration.seconds(5), new KeyValue(lcdText.yProperty(), event.getY(), interpolatorChoiceBox.getSelectionModel().getSelectedItem())) ! ) ! .build() ! .play(); } ! }) ! .build(), ! testText, ! interpolatorChoiceBox) ! .build(); ! ! ! Scene scene = new Scene(root, 500, 575); primaryStage.setTitle("Test Animnation LCD Text"); primaryStage.setResizable(false); primaryStage.setScene(scene); --- 59,96 ---- interpolatorChoiceBox.setPrefWidth(500); interpolatorChoiceBox.getSelectionModel().selectFirst(); ! final Text lcdText = new Text(); ! lcdText.setX(100); ! lcdText.setY(100); ! lcdText.setFontSmoothingType(FontSmoothingType.LCD); lcdText.textProperty().bind(testText.textProperty()); ! final Circle point = new Circle(100, 100, 2, Color.RED); + Pane temp = new Pane(lcdText, point); + temp.setMinWidth(500); + temp.setMinHeight(500); + temp.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { point.setCenterX(event.getX()); point.setCenterY(event.getY()); ! new Timeline( new KeyFrame(Duration.seconds(5), new KeyValue(lcdText.xProperty(), event.getX(), interpolatorChoiceBox.getSelectionModel().getSelectedItem())), new KeyFrame(Duration.seconds(5), new KeyValue(lcdText.yProperty(), event.getY(), interpolatorChoiceBox.getSelectionModel().getSelectedItem())) ! ).play(); } ! }); ! Pane root = new VBox(temp, testText, interpolatorChoiceBox); Scene scene = new Scene(root, 500, 575); primaryStage.setTitle("Test Animnation LCD Text"); primaryStage.setResizable(false); primaryStage.setScene(scene);