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

Print this page


   1 /*
   2  * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  */
   5 package test.scenegraph.lcd.animation;
   6 
   7 import javafx.animation.Interpolator;
   8 import javafx.animation.KeyFrame;
   9 import javafx.animation.KeyValue;
  10 import javafx.animation.TimelineBuilder;
  11 import javafx.application.Application;
  12 import javafx.collections.FXCollections;
  13 import javafx.event.EventHandler;
  14 import javafx.scene.Scene;
  15 import javafx.scene.control.ChoiceBox;
  16 import javafx.scene.control.ChoiceBoxBuilder;
  17 import javafx.scene.control.TextArea;
  18 import javafx.scene.control.TextAreaBuilder;
  19 import javafx.scene.input.MouseEvent;
  20 import javafx.scene.layout.Pane;
  21 import javafx.scene.layout.PaneBuilder;
  22 import javafx.scene.layout.VBoxBuilder;
  23 import javafx.scene.paint.Color;
  24 import javafx.scene.shape.Circle;
  25 import javafx.scene.shape.CircleBuilder;
  26 import javafx.scene.text.FontSmoothingType;
  27 import javafx.scene.text.Text;
  28 import javafx.scene.text.TextBuilder;
  29 import javafx.stage.Stage;
  30 import javafx.util.Duration;
  31 import test.javaclient.shared.Utils;
  32 
  33 /**
  34  *
  35  * @author Alexander Petrov
  36  */
  37 public class AnimationLCDTextTestApp extends Application {
  38 
  39     /**
  40      * @param args the command line arguments
  41      */
  42     public static void main(String[] args) {
  43         //launch(args);
  44         Utils.launch(AnimationLCDTextTestApp.class, args);
  45     }
  46 
  47     @Override
  48     public void start(Stage primaryStage) {
  49 
  50 
  51         final TextArea testText = TextAreaBuilder.create()
  52                 .text("Test")
  53                 .prefHeight(50)
  54                 .prefWidth(500)
  55                 .build();
  56 
  57         final ChoiceBox<Interpolator> interpolatorChoiceBox = new ChoiceBox<Interpolator>();
  58         interpolatorChoiceBox.getItems().addAll(FXCollections.observableArrayList(
  59                     Interpolator.LINEAR,
  60                     Interpolator.DISCRETE,
  61                     Interpolator.EASE_BOTH,
  62                     Interpolator.EASE_IN,
  63                     Interpolator.EASE_OUT
  64                     ));
  65         interpolatorChoiceBox.setPrefHeight(25);
  66         interpolatorChoiceBox.setPrefWidth(500);
  67 
  68         interpolatorChoiceBox.getSelectionModel().selectFirst();
  69 
  70 
  71         final Text lcdText = TextBuilder.create()
  72                 .x(100)
  73                 .y(100)
  74                 .fontSmoothingType(FontSmoothingType.LCD)
  75                 .build();
  76 
  77         lcdText.textProperty().bind(testText.textProperty());
  78 
  79         final Circle point = CircleBuilder.create()
  80                 .centerX(100)
  81                 .centerY(100)
  82                 .radius(2)
  83                 .fill(Color.RED)
  84                 .build();
  85 
  86         Pane root = VBoxBuilder.create()
  87                 .children(
  88                     PaneBuilder.create()
  89                     .minWidth(500)
  90                     .minHeight(500)
  91                     .children(
  92                         lcdText,
  93                         point)
  94                     .onMouseClicked(new EventHandler<MouseEvent>() {
  95 




  96                         @Override
  97                         public void handle(MouseEvent event) {
  98                             point.setCenterX(event.getX());
  99                             point.setCenterY(event.getY());
 100 
 101                             TimelineBuilder.create()
 102                                 .keyFrames(
 103                                     new KeyFrame(Duration.seconds(5),
 104                                         new KeyValue(lcdText.xProperty(), event.getX(),
 105                                             interpolatorChoiceBox.getSelectionModel().getSelectedItem())),
 106                                     new KeyFrame(Duration.seconds(5),
 107                                         new KeyValue(lcdText.yProperty(), event.getY(),
 108                                             interpolatorChoiceBox.getSelectionModel().getSelectedItem()))
 109                                     )
 110                                 .build()
 111                                 .play();
 112                         }
 113                     })
 114                     .build(),
 115                     testText,
 116                     interpolatorChoiceBox)
 117                 .build();
 118 
 119 
 120 
 121         Scene scene = new Scene(root, 500, 575);
 122 
 123         primaryStage.setTitle("Test Animnation LCD Text");
 124         primaryStage.setResizable(false);
 125         primaryStage.setScene(scene);
 126         primaryStage.show();
 127     }
 128 }
 129 
 130 
 131 
   1 /*
   2  * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  */
   5 package test.scenegraph.lcd.animation;
   6 
   7 import javafx.animation.Interpolator;
   8 import javafx.animation.KeyFrame;
   9 import javafx.animation.KeyValue;
  10 import javafx.animation.Timeline;
  11 import javafx.application.Application;
  12 import javafx.collections.FXCollections;
  13 import javafx.event.EventHandler;
  14 import javafx.scene.Scene;
  15 import javafx.scene.control.ChoiceBox;

  16 import javafx.scene.control.TextArea;

  17 import javafx.scene.input.MouseEvent;
  18 import javafx.scene.layout.Pane;
  19 import javafx.scene.layout.VBox;

  20 import javafx.scene.paint.Color;
  21 import javafx.scene.shape.Circle;

  22 import javafx.scene.text.FontSmoothingType;
  23 import javafx.scene.text.Text;

  24 import javafx.stage.Stage;
  25 import javafx.util.Duration;
  26 import test.javaclient.shared.Utils;
  27 
  28 /**
  29  *
  30  * @author Alexander Petrov
  31  */
  32 public class AnimationLCDTextTestApp extends Application {
  33 
  34     /**
  35      * @param args the command line arguments
  36      */
  37     public static void main(String[] args) {
  38         //launch(args);
  39         Utils.launch(AnimationLCDTextTestApp.class, args);
  40     }
  41 
  42     @Override
  43     public void start(Stage primaryStage) {
  44         
  45         
  46         final TextArea testText = new TextArea("Test");
  47                 testText.setPrefHeight(50);
  48                 testText.setPrefWidth(500);


  49                 
  50         final ChoiceBox<Interpolator> interpolatorChoiceBox = new ChoiceBox<Interpolator>();
  51         interpolatorChoiceBox.getItems().addAll(FXCollections.observableArrayList(
  52                     Interpolator.LINEAR,
  53                     Interpolator.DISCRETE,
  54                     Interpolator.EASE_BOTH,
  55                     Interpolator.EASE_IN,
  56                     Interpolator.EASE_OUT
  57                     ));
  58         interpolatorChoiceBox.setPrefHeight(25);
  59         interpolatorChoiceBox.setPrefWidth(500);
  60         
  61         interpolatorChoiceBox.getSelectionModel().selectFirst();
  62                 
  63         
  64         final Text lcdText = new Text();
  65                 lcdText.setX(100);
  66                 lcdText.setY(100);
  67         lcdText.setFontSmoothingType(FontSmoothingType.LCD);


  68         lcdText.textProperty().bind(testText.textProperty());
  69         
  70         final Circle point = new Circle(100, 100, 2, Color.RED);















  71         
  72         Pane temp = new Pane(lcdText, point);
  73                 temp.setMinWidth(500);
  74         temp.setMinHeight(500);
  75                 temp.setOnMouseClicked(new EventHandler<MouseEvent>() {
  76                         @Override
  77                         public void handle(MouseEvent event) {
  78                                 point.setCenterX(event.getX());
  79                                 point.setCenterY(event.getY());
  80                                 
  81                                 new Timeline(

  82                                         new KeyFrame(Duration.seconds(5),
  83                                                 new KeyValue(lcdText.xProperty(), event.getX(),
  84                                                         interpolatorChoiceBox.getSelectionModel().getSelectedItem())),
  85                                         new KeyFrame(Duration.seconds(5), 
  86                                                 new KeyValue(lcdText.yProperty(), event.getY(),
  87                                                         interpolatorChoiceBox.getSelectionModel().getSelectedItem()))
  88                                 ).play();


  89                         }
  90                 });
  91                 Pane root = new VBox(temp, testText, interpolatorChoiceBox);






  92         Scene scene = new Scene(root, 500, 575);
  93 
  94         primaryStage.setTitle("Test Animnation LCD Text");
  95         primaryStage.setResizable(false);
  96         primaryStage.setScene(scene);
  97         primaryStage.show();
  98     }
  99 }
 100 
 101         
 102