import javafx.application.Application; import javafx.application.ConditionalFeature; import javafx.application.Platform; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.ScrollPane; import javafx.scene.control.Slider; import javafx.scene.effect.Blend; import javafx.scene.effect.BlendMode; import javafx.scene.effect.Bloom; import javafx.scene.effect.BlurType; import javafx.scene.effect.BoxBlur; import javafx.scene.effect.ColorAdjust; import javafx.scene.effect.ColorInput; import javafx.scene.effect.DisplacementMap; import javafx.scene.effect.DropShadow; import javafx.scene.effect.FloatMap; import javafx.scene.effect.GaussianBlur; import javafx.scene.effect.Glow; import javafx.scene.effect.ImageInput; import javafx.scene.effect.InnerShadow; import javafx.scene.effect.Light; import javafx.scene.effect.Lighting; import javafx.scene.effect.MotionBlur; import javafx.scene.effect.PerspectiveTransform; import javafx.scene.effect.Reflection; import javafx.scene.effect.SepiaTone; import javafx.scene.effect.Shadow; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.image.PixelWriter; import javafx.scene.image.WritableImage; import javafx.scene.layout.Background; import javafx.scene.layout.BackgroundFill; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; public class Eff extends Application { public static void main(String[] args) { Application.launch(args); } public void start(Stage stage) throws Exception { ScrollPane sp = new ScrollPane(); VBox root = new VBox(5.0); root.setAlignment(Pos.CENTER); root.setPadding(new Insets(50.0)); Button button = new Button("Методы класса Node"); Button button2 = new Button("Класс DropShadow. Внешняя тень"); Button button3 = new Button("Класс InnerShadow. Внутренняя тень"); Button button4 = new Button("Класс Shadow. Тень"); Button button5 = new Button("Класс Reflection. Зеркальное отражение"); Button button6 = new Button("Класс GaussianBlur. Размытие по Гауссу"); Button button7 = new Button("Класс MotionBlur. Размытие в движении"); Button button8 = new Button("Класс BoxBlur. Размытие"); Button button9 = new Button("Класс Bloom. Свечение"); Button button10 = new Button("Класс Glow. Свечение"); Button button11 = new Button("Класс PerspectiveTransform. Трансформация"); Button button12 = new Button("Изменение насыщенности, яркости и контраста"); Button button13 = new Button("Эффект состаривания изображения"); Button button14 = new Button("Эффект источника света"); Button button15 = new Button("Light.Point"); Button button16 = new Button("Light.Spot"); Button button17 = new Button("Класс Blend. Смешивание"); Button button18 = new Button("Класс DisplacementMap. Искажение"); button.setOnAction(event -> { newWindow(); }); button2.setOnAction(event -> { newWindow2(); }); button3.setOnAction(event -> { newWindow3(); }); button4.setOnAction(event -> { newWindow4(); }); button5.setOnAction(event -> { newWindow5(); }); button6.setOnAction(event -> { newWindow6(); }); button7.setOnAction(event -> { newWindow7(); }); button8.setOnAction(event -> { newWindow8(); }); button9.setOnAction(event -> { newWindow9(); }); button10.setOnAction(event -> { newWindow10(); }); button11.setOnAction(event -> { newWindow11(); }); button12.setOnAction(event -> { newWindow12(); }); button13.setOnAction(event -> { newWindow13(); }); button14.setOnAction(event -> { newWindow14(); }); button15.setOnAction(event -> { newWindow15(); }); button16.setOnAction(event -> { newWindow16(); }); button17.setOnAction(event -> { newWindow17(); }); button18.setOnAction(event -> { newWindow18(); }); root.getChildren().addAll(button, button2, button3, button4, button5, button6, button7, button8, button9, button10, button11, button12, button13, button14, button15, button16, button17, button18); sp.setContent(root); Scene scene = new Scene(sp, 400.0, 500.0); stage.setTitle("Класс Effect"); stage.setScene(scene); stage.show(); } public void newWindow() { Stage window = new Stage(); Pane pane = new Pane(); Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(new DropShadow()); rect.relocate(50.0, 50.0); // Effect e = new DropShadow(); System.out.println(rect.getEffect()); if (Platform.isSupported(ConditionalFeature.EFFECT)) { System.out.println("Эффекты поддерживаются"); } else { System.out.println("Нет поддержки"); } pane.getChildren().addAll(rect); Scene scene = new Scene(pane, 400, 200); window.setScene(scene); window.setTitle("Методы класса Node"); window.show(); } public void newWindow2() { Stage window = new Stage(); Pane pane = new Pane(); DropShadow effect = new DropShadow(); DropShadow effect2 = new DropShadow(40.0, Color.BLUE); DropShadow effect3 = new DropShadow(20.0, 10.0, 10.0, Color.BLACK); DropShadow effect4 = new DropShadow(BlurType.GAUSSIAN, Color.BLACK, 20.0, 0.2, -5.0, -5.0); /*//effect.setBlurType(BlurType.GAUSSIAN); //effect.setBlurType(BlurType.ONE_PASS_BOX); effect.setBlurType(BlurType.THREE_PASS_BOX); //effect.setBlurType(BlurType.TWO_PASS_BOX); effect.setColor(Color.BLACK); effect.setRadius(20.0); effect.setOffsetX(10.0); effect.setOffsetY(10.0); effect.setSpread(0.9); //effect.setWidth(127.0); //effect.setHeight(21.0); effect.setInput(null); System.out.println(effect.getBlurType()); System.out.println(effect.getColor()); System.out.println(effect.getRadius()); System.out.println(effect.getOffsetX()); System.out.println(effect.getOffsetY()); System.out.println(effect.getSpread()); System.out.println(effect.getWidth()); System.out.println(effect.getHeight()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); Rectangle rect4 = new Rectangle(50.0, 50.0); rect4.setFill(Color.RED); rect4.setEffect(effect4); rect4.relocate(350.0, 50.0); pane.getChildren().addAll(rect, rect2, rect3, rect4); Scene scene = new Scene(pane, 500, 200); window.setScene(scene); window.setTitle("DropShadow"); window.show(); } public void newWindow3() { Stage window = new Stage(); Pane pane = new Pane(); InnerShadow effect = new InnerShadow(); InnerShadow effect2 = new InnerShadow(40.0, Color.BLACK); InnerShadow effect3 = new InnerShadow(20.0, 10.0, 10.0, Color.BLACK); InnerShadow effect4 = new InnerShadow(BlurType.GAUSSIAN, Color.BLACK, 20.0, 0.2, -5.0, -5.0); /*effect.setBlurType(BlurType.GAUSSIAN); //effect.setBlurType(BlurType.ONE_PASS_BOX); //effect.setBlurType(BlurType.THREE_PASS_BOX); //effect.setBlurType(BlurType.TWO_PASS_BOX); effect.setColor(Color.BLACK); effect.setRadius(20.0); effect.setOffsetX(0.0); effect.setOffsetY(0.0); effect.setChoke(0.9); //effect.setWidth(127.0); //effect.setHeight(21.0); effect.setInput(null); System.out.println(effect.getBlurType()); System.out.println(effect.getColor()); System.out.println(effect.getRadius()); System.out.println(effect.getOffsetX()); System.out.println(effect.getOffsetY()); System.out.println(effect.getChoke()); System.out.println(effect.getWidth()); System.out.println(effect.getHeight()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); Rectangle rect4 = new Rectangle(50.0, 50.0); rect4.setFill(Color.RED); rect4.setEffect(effect4); rect4.relocate(350.0, 50.0); pane.getChildren().addAll(rect, rect2, rect3, rect4); Scene scene = new Scene(pane, 500, 200); window.setScene(scene); window.setTitle("InnerShadow"); window.show(); } public void newWindow4() { Stage window = new Stage(); Pane pane = new Pane(); Shadow effect = new Shadow(); Shadow effect2 = new Shadow(40.0, Color.BLUE); Shadow effect3 = new Shadow(BlurType.GAUSSIAN, Color.BLACK, 20.0); /*effect.setBlurType(BlurType.GAUSSIAN); //effect.setBlurType(BlurType.ONE_PASS_BOX); //effect.setBlurType(BlurType.THREE_PASS_BOX); //effect.setBlurType(BlurType.TWO_PASS_BOX); effect.setColor(Color.BLACK); effect.setRadius(20.0); effect.setWidth(127.0); effect.setHeight(21.0); effect.setInput(null); System.out.println(effect.getBlurType()); System.out.println(effect.getColor()); System.out.println(effect.getRadius()); System.out.println(effect.getWidth()); System.out.println(effect.getHeight()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); pane.getChildren().addAll(rect, rect2, rect3); Scene scene = new Scene(pane, 500, 200); window.setScene(scene); window.setTitle("Shadow"); window.show(); } public void newWindow5() { Stage window = new Stage(); Pane pane = new Pane(); Reflection effect = new Reflection(); Reflection effect2 = new Reflection(5.0, 0.7, 0.5, 0.0); Reflection effect3 = new Reflection(-20.0, 0.7, 0.5, 0.0); /*effect.setTopOffset(1.0); effect.setFraction(0.7); effect.setTopOpacity(0.5); effect.setBottomOpacity(0.0); effect.setInput(null); System.out.println(effect.getTopOffset()); System.out.println(effect.getFraction()); System.out.println(effect.getTopOpacity()); System.out.println(effect.getBottomOpacity()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); Text text = new Text("JavaFX"); text.setFont(new Font(40.0)); text.setEffect(effect3); text.relocate(50.0, 150.0); pane.getChildren().addAll(rect, rect2, rect3, text); Scene scene = new Scene(pane, 500, 350); window.setScene(scene); window.setTitle("Reflection"); window.show(); } public void newWindow6() { Stage window = new Stage(); Pane pane = new Pane(); GaussianBlur effect = new GaussianBlur(); GaussianBlur effect2 = new GaussianBlur(40.0); GaussianBlur effect3 = new GaussianBlur(5.0); /*effect.setRadius(63.0); effect.setInput(null); System.out.println(effect.getRadius()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); Text text = new Text("JavaFX"); text.setFont(new Font(40.0)); text.setEffect(new GaussianBlur()); text.relocate(50.0, 150.0); pane.getChildren().addAll(rect, rect2, rect3, text); Scene scene = new Scene(pane, 500, 350); window.setScene(scene); window.setTitle("GaussianBlur"); window.show(); } public void newWindow7() { Stage window = new Stage(); Pane pane = new Pane(); MotionBlur effect = new MotionBlur(); MotionBlur effect2 = new MotionBlur(0.0, 10.0); MotionBlur effect3 = new MotionBlur(45.0, 20.0); /*effect.setRadius(63.0); effect.setAngle(10.0); effect.setInput(null); System.out.println(effect.getAngle()); System.out.println(effect.getRadius()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); Text text = new Text("JavaFX"); text.setFont(new Font(40.0)); text.setEffect(new MotionBlur()); text.relocate(50.0, 150.0); pane.getChildren().addAll(rect, rect2, rect3, text); Scene scene = new Scene(pane, 500, 350); window.setScene(scene); window.setTitle("MotionBlur"); window.show(); } public void newWindow8() { Stage window = new Stage(); Pane pane = new Pane(); BoxBlur effect = new BoxBlur(); BoxBlur effect2 = new BoxBlur(5.0, 5.0, 1); BoxBlur effect3 = new BoxBlur(15.0, 15.0, 3); /*effect.setWidth(2.0); effect.setHeight(5.0); effect.setIterations(1); effect.setInput(null);*/ /*System.out.println(effect.getWidth()); System.out.println(effect.getHeight()); System.out.println(effect.getIterations()); System.out.println(effect.getInput());*/ Rectangle rect = new Rectangle(50.0, 50.0); rect.setFill(Color.RED); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(50.0, 50.0); rect2.setFill(Color.RED); rect2.setEffect(effect2); rect2.relocate(150.0, 50.0); Rectangle rect3 = new Rectangle(50.0, 50.0); rect3.setFill(Color.RED); rect3.setEffect(effect3); rect3.relocate(250.0, 50.0); Text text = new Text("JavaFX"); text.setFont(new Font(40.0)); text.setEffect(new BoxBlur(5.0, 5.0, 3)); text.relocate(50.0, 150.0); pane.getChildren().addAll(rect, rect2, rect3, text); Scene scene = new Scene(pane, 500, 350); window.setScene(scene); window.setTitle("BoxBlur"); window.show(); } public void newWindow9() { Image image = null; try { image = new Image( getClass().getResourceAsStream("image1.jpg")); if (image.isError()) new RuntimeException(); } catch (Exception e) { System.out.println("Не удалось загрузить изображение"); return; } Stage window = new Stage(); Pane pane = new Pane(); pane.setBackground(new Background(new BackgroundFill(Color.DARKBLUE, null, null))); Bloom effect = new Bloom(); Bloom effect2 = new Bloom(0.3); /*effect.setThreshold(0.3); effect.setInput(null); System.out.println(effect.getThreshold()); System.out.println(effect.getInput());*/ Text text = new Text("JavaFX"); text.setFill(Color.WHITE); text.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text.setEffect(effect); text.relocate(150.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.WHITE); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text2.setEffect(effect2); text2.relocate(150.0, 80.0); Bloom effect3 = new Bloom(); ImageView iv = new ImageView(image); iv.setFitWidth(400.0); iv.setPreserveRatio(true); iv.setEffect(effect3); iv.relocate(50.0, 150.0); Slider slider = new Slider(0.0, 1.0, 0.3); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect2.setThreshold(newValue.doubleValue()); effect3.setThreshold(newValue.doubleValue()); }); slider.setPrefWidth(400.0); slider.relocate(50.0, 450.0); pane.getChildren().addAll(text, text2, iv, slider); Scene scene = new Scene(pane, 500, 500); window.setScene(scene); window.setTitle("Bloom"); window.show(); } public void newWindow10() { Image image = null; try { image = new Image( getClass().getResourceAsStream("image1.jpg")); if (image.isError()) new RuntimeException(); } catch (Exception e) { System.out.println("Не удалось загрузить изображение"); return; } Stage window = new Stage(); Pane pane = new Pane(); pane.setBackground(new Background(new BackgroundFill(Color.DARKBLUE, null, null))); Glow effect = new Glow(); Glow effect2 = new Glow(0.9); /*effect.setLevel(0.3); effect.setInput(null); System.out.println(effect.getLevel()); System.out.println(effect.getInput());*/ Text text = new Text("JavaFX"); text.setFill(Color.WHITE); text.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text.setEffect(effect); text.relocate(150.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.WHITE); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text2.setEffect(effect2); text2.relocate(150.0, 80.0); Glow effect3 = new Glow(); ImageView iv = new ImageView(image); iv.setFitWidth(400.0); iv.setPreserveRatio(true); iv.setEffect(effect3); iv.relocate(50.0, 150.0); Slider slider = new Slider(0.0, 1.0, 0.3); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect2.setLevel(newValue.doubleValue()); effect3.setLevel(newValue.doubleValue()); }); slider.setPrefWidth(400.0); slider.relocate(50.0, 450.0); pane.getChildren().addAll(text, text2, iv, slider); Scene scene = new Scene(pane, 500, 500); window.setScene(scene); window.setTitle("Glow"); window.show(); } public void newWindow11() { Stage window = new Stage(); Pane pane = new Pane(); PerspectiveTransform effect = new PerspectiveTransform(); PerspectiveTransform effect2 = new PerspectiveTransform( 50.0, 10.0, 200.0, 10.0, 250.0, 100.0, 0.0, 100.0); effect.setUlx(10.0); effect.setUly(10.0); effect.setLlx(10.0); effect.setLly(90.0); effect.setUrx(200.0); effect.setUry(40.0); effect.setLrx(200.0); effect.setLry(60.0); effect.setInput(null); System.out.println(effect.getInput()); System.out.println(effect.getUlx()); System.out.println(effect.getUly()); System.out.println(effect.getLlx()); System.out.println(effect.getLly()); System.out.println(effect.getUrx()); System.out.println(effect.getUry()); System.out.println(effect.getLrx()); System.out.println(effect.getLry()); Text text = new Text("JavaFX"); text.setFill(Color.BLACK); text.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text.setEffect(effect); text.relocate(50.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.BLACK); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text2.setEffect(effect2); text2.relocate(150.0, 250.0); pane.getChildren().addAll(text, text2); Scene scene = new Scene(pane, 500, 500); window.setScene(scene); window.setTitle("PerspectiveTransform"); window.show(); } public void newWindow12() { Image image = null; try { image = new Image( getClass().getResourceAsStream("image1.jpg")); if (image.isError()) new RuntimeException(); } catch (Exception e) { System.out.println("Не удалось загрузить изображение"); return; } Stage window = new Stage(); Pane pane = new Pane(); ColorAdjust effect = new ColorAdjust(); ColorAdjust effect2 = new ColorAdjust(-0.5, 0.0, -0.5, 0.0); /*effect.setHue(-0.05); effect.setSaturation(0.2); effect.setBrightness(0.1); effect.setContrast(0.1); effect.setInput(null);*/ System.out.println(effect.getHue()); System.out.println(effect.getSaturation()); System.out.println(effect.getBrightness()); System.out.println(effect.getContrast()); System.out.println(effect.getInput()); Text text = new Text("JavaFX"); text.setFill(Color.BLUE); text.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text.setEffect(effect2); text.relocate(150.0, 10.0); ImageView iv = new ImageView(image); iv.setFitWidth(400.0); iv.setPreserveRatio(true); iv.setEffect(effect); iv.relocate(50.0, 80.0); Slider slider = new Slider(-1.0, 1.0, 0.0); slider.setPrefWidth(400.0); slider.relocate(50.0, 370.0); Slider slider2 = new Slider(-1.0, 1.0, 0.0); slider2.setPrefWidth(400.0); slider2.relocate(50.0, 400.0); Slider slider3 = new Slider(-1.0, 1.0, 0.0); slider3.setPrefWidth(400.0); slider3.relocate(50.0, 430.0); Slider slider4 = new Slider(-1.0, 1.0, 0.0); slider4.setPrefWidth(400.0); slider4.relocate(50.0, 460.0); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect.setHue(newValue.doubleValue()); }); slider2.valueProperty().addListener((obj, oldValue, newValue) -> { effect.setSaturation(newValue.doubleValue()); }); slider3.valueProperty().addListener((obj, oldValue, newValue) -> { effect.setBrightness(newValue.doubleValue()); }); slider4.valueProperty().addListener((obj, oldValue, newValue) -> { effect.setContrast(newValue.doubleValue()); }); pane.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(0.0); slider2.setValue(0.0); slider3.setValue(0.0); slider4.setValue(0.0); } }); slider.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(0.0); } }); slider2.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider2.setValue(0.0); } }); slider3.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider3.setValue(0.0); } }); slider4.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider4.setValue(0.0); } }); Label l1 = new Label("Оттенок"); l1.relocate(60.0, 355.0); Label l2 = new Label("Насыщенность"); l2.relocate(60.0, 385.0); Label l3 = new Label("Яркость"); l3.relocate(60.0, 415.0); Label l4 = new Label("Контраст"); l4.relocate(60.0, 445.0); pane.getChildren().addAll(text, iv, slider, slider2, slider3, slider4, l1, l2, l3, l4); Scene scene = new Scene(pane, 500, 500); window.setScene(scene); window.setTitle("ColorAdjust"); window.show(); } public void newWindow13() { Image image = null; try { image = new Image( getClass().getResourceAsStream("image1.jpg")); if (image.isError()) new RuntimeException(); } catch (Exception e) { System.out.println("Не удалось загрузить изображение"); return; } Stage window = new Stage(); Pane pane = new Pane(); SepiaTone effect = new SepiaTone(); //SepiaTone effect = new SepiaTone(0.5); /*effect.setLevel(0.5); effect.setInput(null);*/ System.out.println(effect.getLevel()); System.out.println(effect.getInput()); ImageView iv = new ImageView(image); iv.setFitWidth(400.0); iv.setPreserveRatio(true); iv.setEffect(effect); iv.relocate(50.0, 80.0); Slider slider = new Slider(0.0, 1.0, 1.0); slider.setPrefWidth(400.0); slider.relocate(50.0, 370.0); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect.setLevel(newValue.doubleValue()); }); pane.getChildren().addAll(iv, slider); Scene scene = new Scene(pane, 500, 400); window.setScene(scene); window.setTitle("SepiaTone"); window.show(); } public void newWindow14() { Stage window = new Stage(); Pane pane = new Pane(); Lighting effect = new Lighting(); System.out.println(effect.getLight()); Light.Distant light = new Light.Distant(); effect.setLight(light); /*effect.setContentInput(null); effect.setBumpInput(new Shadow(10.0, Color.RED)); effect.setDiffuseConstant(1.0); effect.setSpecularConstant(0.3); effect.setSpecularExponent(20.0); effect.setSurfaceScale(1.5);*/ /*System.out.println(effect.getContentInput()); System.out.println(effect.getBumpInput()); System.out.println(effect.getDiffuseConstant()); System.out.println(effect.getLight()); System.out.println(effect.getSpecularConstant()); System.out.println(effect.getSpecularExponent()); System.out.println(effect.getSurfaceScale());*/ Light.Distant light2 = new Light.Distant(45.0, 45.0, Color.BISQUE); light2.setColor(Color.BISQUE); light2.setAzimuth(60.0); light2.setElevation(120.0); System.out.println(light2.getColor()); System.out.println(light2.getAzimuth()); System.out.println(light2.getElevation()); Lighting effect2 = new Lighting(light2); Light.Point light3 = new Light.Point(100.0, 50.0, 100.0, Color.BISQUE); Lighting effect3 = new Lighting(light3); Light.Spot light4 = new Light.Spot(100.0, 50.0, 100.0, 1.0, Color.WHITE); Lighting effect4 = new Lighting(light4); Text text = new Text("JavaFX"); text.setFill(Color.WHITE); text.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text.setEffect(effect); text.relocate(150.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.WHITE); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text2.setEffect(effect2); text2.relocate(150.0, 80.0); Text text3 = new Text("JavaFX"); text3.setFill(Color.WHITE); text3.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text3.setEffect(effect3); text3.relocate(150.0, 130.0); Text text4 = new Text("JavaFX"); text4.setFill(Color.WHITE); text4.setFont(Font.font("Verdana", FontWeight.BOLD, 40.0)); text4.setEffect(effect4); text4.relocate(150.0, 180.0); Light.Distant light5 = new Light.Distant(); Lighting effect5 = new Lighting(); effect5.setLight(light5); Rectangle rect = new Rectangle(200.0, 100.0); rect.setFill(Color.TOMATO); rect.setEffect(effect5); rect.relocate(120.0, 240.0); Slider slider = new Slider(0.0, 2.0, 1.0); slider.setPrefWidth(400.0); slider.relocate(50.0, 370.0); Slider slider2 = new Slider(0.0, 2.0, 0.3); slider2.setPrefWidth(400.0); slider2.relocate(50.0, 400.0); Slider slider3 = new Slider(0.0, 40.0, 20.0); slider3.setPrefWidth(400.0); slider3.relocate(50.0, 430.0); Slider slider4 = new Slider(0.0, 10.0, 1.5); slider4.setPrefWidth(400.0); slider4.relocate(50.0, 460.0); Slider slider5 = new Slider(0.0, 360.0, 45.0); slider5.setPrefWidth(400.0); slider5.setShowTickMarks(true); slider5.setShowTickLabels(true); slider5.relocate(50.0, 490.0); Slider slider6 = new Slider(0.0, 360.0, 45.0); slider6.setPrefWidth(400.0); slider6.setShowTickMarks(true); slider6.setShowTickLabels(true); slider6.relocate(50.0, 550.0); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setDiffuseConstant(newValue.doubleValue()); }); slider2.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSpecularConstant(newValue.doubleValue()); }); slider3.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSpecularExponent(newValue.doubleValue()); }); slider4.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSurfaceScale(newValue.doubleValue()); }); slider5.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setAzimuth(newValue.doubleValue()); }); slider6.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setElevation(newValue.doubleValue()); }); pane.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(1.0); slider2.setValue(0.3); slider3.setValue(20.0); slider4.setValue(1.5); slider5.setValue(45.0); slider6.setValue(45.0); } }); slider.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(1.0); } }); slider2.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider2.setValue(0.3); } }); slider3.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider3.setValue(20.0); } }); slider4.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider4.setValue(1.5); } }); slider5.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider5.setValue(45.0); } }); slider6.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider6.setValue(45.0); } }); Label l1 = new Label("diffuseConstant"); l1.relocate(60.0, 355.0); Label l2 = new Label("specularConstant"); l2.relocate(60.0, 385.0); Label l3 = new Label("specularExponent"); l3.relocate(60.0, 415.0); Label l4 = new Label("surfaceScale"); l4.relocate(60.0, 445.0); Label l5 = new Label("azimuth"); l5.relocate(60.0, 475.0); Label l6 = new Label("elevation"); l6.relocate(60.0, 530.0); pane.getChildren().addAll(text, text2, text3, text4, rect, slider, slider2, slider3, slider4, slider5, slider6, l1, l2, l3, l4, l5, l6); Scene scene = new Scene(pane, 500, 600); window.setScene(scene); window.setTitle("Lighting"); window.show(); } public void newWindow15() { Stage window = new Stage(); Pane pane = new Pane(); Light.Point light = new Light.Point(); light.setX(50.0); light.setY(50.0); light.setZ(50.0); light.setColor(Color.BISQUE); /*System.out.println(light.getX()); System.out.println(light.getY()); System.out.println(light.getZ());*/ Lighting effect = new Lighting(light); Light.Point light2 = new Light.Point(100.0, 50.0, 100.0, Color.WHITE); Lighting effect2 = new Lighting(light2); Text text = new Text("JavaFX"); text.setFill(Color.RED); text.setFont(Font.font("Verdana", FontWeight.BOLD, 80.0)); text.setEffect(effect); text.relocate(80.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.BLUE); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 80.0)); text2.setEffect(effect2); text2.relocate(80.0, 120.0); Light.Point light5 = new Light.Point(100.0, 50.0, 50.0, Color.WHITE); Lighting effect5 = new Lighting(); effect5.setLight(light5); Rectangle rect = new Rectangle(200.0, 100.0); rect.setFill(Color.TOMATO); rect.setEffect(effect5); rect.relocate(120.0, 240.0); Slider slider = new Slider(0.0, 2.0, 1.0); slider.setPrefWidth(400.0); slider.relocate(50.0, 370.0); Slider slider2 = new Slider(0.0, 2.0, 0.3); slider2.setPrefWidth(400.0); slider2.relocate(50.0, 400.0); Slider slider3 = new Slider(0.0, 40.0, 20.0); slider3.setPrefWidth(400.0); slider3.relocate(50.0, 430.0); Slider slider4 = new Slider(0.0, 10.0, 1.5); slider4.setPrefWidth(400.0); slider4.relocate(50.0, 460.0); Slider slider5 = new Slider(-10.0, 210.0, 100.0); slider5.setPrefWidth(400.0); slider5.relocate(50.0, 490.0); Slider slider6 = new Slider(-10.0, 110.0, 50.0); slider6.setPrefWidth(400.0); slider6.relocate(50.0, 520.0); Slider slider7 = new Slider(0.0, 500.0, 50.0); slider7.setPrefWidth(400.0); slider7.relocate(50.0, 550.0); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setDiffuseConstant(newValue.doubleValue()); }); slider2.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSpecularConstant(newValue.doubleValue()); }); slider3.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSpecularExponent(newValue.doubleValue()); }); slider4.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSurfaceScale(newValue.doubleValue()); }); slider5.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setX(newValue.doubleValue()); }); slider6.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setY(newValue.doubleValue()); }); slider7.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setZ(newValue.doubleValue()); }); pane.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(1.0); slider2.setValue(0.3); slider3.setValue(20.0); slider4.setValue(1.5); slider5.setValue(100.0); slider6.setValue(50.0); slider7.setValue(50.0); } }); slider.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(1.0); } }); slider2.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider2.setValue(0.3); } }); slider3.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider3.setValue(20.0); } }); slider4.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider4.setValue(1.5); } }); slider5.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider5.setValue(100.0); } }); slider6.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider6.setValue(50.0); } }); slider7.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider7.setValue(50.0); } }); Label l1 = new Label("diffuseConstant"); l1.relocate(60.0, 355.0); Label l2 = new Label("specularConstant"); l2.relocate(60.0, 385.0); Label l3 = new Label("specularExponent"); l3.relocate(60.0, 415.0); Label l4 = new Label("surfaceScale"); l4.relocate(60.0, 445.0); Label l5 = new Label("x"); l5.relocate(60.0, 475.0); Label l6 = new Label("y"); l6.relocate(60.0, 505.0); Label l7 = new Label("z"); l7.relocate(60.0, 535.0); pane.getChildren().addAll(text, text2, rect, slider, slider2, slider3, slider4, slider5, slider6, slider7, l1, l2, l3, l4, l5, l6, l7); Scene scene = new Scene(pane, 500, 600); window.setScene(scene); window.setTitle("Light.Point"); window.show(); } public void newWindow16() { Stage window = new Stage(); Pane pane = new Pane(); Light.Spot light = new Light.Spot(); light.setX(100.0); light.setY(50.0); light.setZ(100.0); light.setColor(Color.BISQUE); light.setPointsAtX(100.0); light.setPointsAtY(50.0); light.setPointsAtZ(0.0); light.setSpecularExponent(1.0); System.out.println(light.getX()); System.out.println(light.getY()); System.out.println(light.getZ()); System.out.println(light.getPointsAtX()); System.out.println(light.getPointsAtY()); System.out.println(light.getPointsAtZ()); System.out.println(light.getSpecularExponent()); Lighting effect = new Lighting(light); Light.Spot light2 = new Light.Spot(100.0, 50.0, 100.0, 1.0, Color.WHITE); Lighting effect2 = new Lighting(light2); Text text = new Text("JavaFX"); text.setFill(Color.RED); text.setFont(Font.font("Verdana", FontWeight.BOLD, 80.0)); text.setEffect(effect); text.relocate(80.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.BLUE); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 80.0)); text2.setEffect(effect2); text2.relocate(80.0, 120.0); Light.Spot light5 = new Light.Spot(100.0, 50.0, 50.0, 1.0, Color.WHITE); Lighting effect5 = new Lighting(); effect5.setLight(light5); Rectangle rect = new Rectangle(200.0, 100.0); rect.setFill(Color.TOMATO); rect.setEffect(effect5); rect.relocate(120.0, 240.0); Slider slider = new Slider(0.0, 2.0, 1.0); slider.setPrefWidth(400.0); slider.relocate(50.0, 370.0); Slider slider2 = new Slider(0.0, 2.0, 0.3); slider2.setPrefWidth(400.0); slider2.relocate(50.0, 400.0); Slider slider3 = new Slider(0.0, 40.0, 20.0); slider3.setPrefWidth(400.0); slider3.relocate(50.0, 430.0); Slider slider4 = new Slider(0.0, 10.0, 1.5); slider4.setPrefWidth(400.0); slider4.relocate(50.0, 460.0); Slider slider5 = new Slider(-10.0, 210.0, 100.0); slider5.setPrefWidth(400.0); slider5.relocate(50.0, 490.0); Slider slider6 = new Slider(-10.0, 110.0, 50.0); slider6.setPrefWidth(400.0); slider6.relocate(50.0, 520.0); Slider slider7 = new Slider(0.0, 500.0, 50.0); slider7.setPrefWidth(400.0); slider7.relocate(50.0, 550.0); Slider slider8 = new Slider(-50.0, 210.0, 0.0); slider8.setPrefWidth(400.0); slider8.relocate(50.0, 580.0); Slider slider9 = new Slider(-50.0, 110.0, 0.0); slider9.setPrefWidth(400.0); slider9.relocate(50.0, 610.0); Slider slider10 = new Slider(-100.0, 100.0, 0.0); slider10.setPrefWidth(400.0); slider10.relocate(50.0, 640.0); Slider slider11 = new Slider(0.0, 4.0, 1.0); slider11.setPrefWidth(400.0); slider11.relocate(50.0, 670.0); Label l1 = new Label("diffuseConstant"); l1.relocate(60.0, 355.0); Label l2 = new Label("specularConstant"); l2.relocate(60.0, 385.0); Label l3 = new Label("specularExponent"); l3.relocate(60.0, 415.0); Label l4 = new Label("surfaceScale"); l4.relocate(60.0, 445.0); Label l5 = new Label("x"); l5.relocate(60.0, 475.0); Label l6 = new Label("y"); l6.relocate(60.0, 505.0); Label l7 = new Label("z"); l7.relocate(60.0, 535.0); Label l8 = new Label("pointsAtX"); l8.relocate(60.0, 565.0); Label l9 = new Label("pointsAtY"); l9.relocate(60.0, 595.0); Label l10 = new Label("pointsAtZ"); l10.relocate(60.0, 625.0); Label l11 = new Label("specularExponent"); l11.relocate(60.0, 655.0); slider.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setDiffuseConstant(newValue.doubleValue()); l1.setText("diffuseConstant = " + newValue.doubleValue()); }); slider2.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSpecularConstant(newValue.doubleValue()); l2.setText("specularConstant = " + newValue.doubleValue()); }); slider3.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSpecularExponent(newValue.doubleValue()); l3.setText("specularExponent = " + newValue.doubleValue()); }); slider4.valueProperty().addListener((obj, oldValue, newValue) -> { effect5.setSurfaceScale(newValue.doubleValue()); l4.setText("surfaceScale = " + newValue.doubleValue()); }); slider5.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setX(newValue.doubleValue()); l5.setText("x = " + newValue.doubleValue()); }); slider6.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setY(newValue.doubleValue()); l6.setText("y = " + newValue.doubleValue()); }); slider7.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setZ(newValue.doubleValue()); l7.setText("z = " + newValue.doubleValue()); }); slider8.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setPointsAtX(newValue.doubleValue()); l8.setText("pointsAtX = " + newValue.doubleValue()); }); slider9.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setPointsAtY(newValue.doubleValue()); l9.setText("pointsAtY = " + newValue.doubleValue()); }); slider10.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setPointsAtZ(newValue.doubleValue()); l10.setText("pointsAtZ = " + newValue.doubleValue()); }); slider11.valueProperty().addListener((obj, oldValue, newValue) -> { light5.setSpecularExponent(newValue.doubleValue()); l11.setText("specularExponent = " + newValue.doubleValue()); }); pane.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(1.0); slider2.setValue(0.3); slider3.setValue(20.0); slider4.setValue(1.5); slider5.setValue(100.0); slider6.setValue(50.0); slider7.setValue(50.0); slider8.setValue(0.0); slider9.setValue(0.0); slider10.setValue(0.0); slider11.setValue(1.0); } }); slider.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider.setValue(1.0); } }); slider2.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider2.setValue(0.3); } }); slider3.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider3.setValue(20.0); } }); slider4.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider4.setValue(1.5); } }); slider5.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider5.setValue(100.0); } }); slider6.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider6.setValue(50.0); } }); slider7.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider7.setValue(50.0); } }); slider8.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider8.setValue(0.0); } }); slider9.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider9.setValue(0.0); } }); slider10.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider10.setValue(0.0); } }); slider11.setOnMouseClicked(event -> { if (event.getClickCount() > 1) { slider11.setValue(1.0); } }); pane.getChildren().addAll(text, text2, rect, slider, slider2, slider3, slider4, slider5, slider6, slider7, slider8, slider9, slider10, slider11, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11); Scene scene = new Scene(pane, 500, 700); window.setScene(scene); window.setTitle("Light.Spot"); window.show(); } public void newWindow17() { Stage window = new Stage(); Pane pane = new Pane(); ColorInput colorInput = new ColorInput(); colorInput.setPaint(Color.WHITE); colorInput.setX(50.0); colorInput.setY(50.0); colorInput.setWidth(70.0); colorInput.setHeight(70.0); System.out.println(colorInput.getPaint()); System.out.println(colorInput.getX()); System.out.println(colorInput.getY()); System.out.println(colorInput.getWidth()); System.out.println(colorInput.getHeight()); /*ColorInput colorInput2 = new ColorInput(50.0, 50.0, 70.0, 70.0, Color.WHITE);*/ Blend effect = new Blend(); effect.setMode(BlendMode.OVERLAY); effect.setTopInput(colorInput); effect.setOpacity(1.0); effect.setBottomInput(null); /*System.out.println(effect.getMode()); System.out.println(effect.getTopInput()); System.out.println(effect.getOpacity()); System.out.println(effect.getBottomInput());*/ Blend effect2 = new Blend(BlendMode.DIFFERENCE); effect2.setTopInput(colorInput); WritableImage wim = new WritableImage(70, 70); PixelWriter pw = wim.getPixelWriter(); for (int x = 0, w = (int) wim.getWidth(); x < w; x++) { for (int y = 0, h = (int) wim.getHeight(); y < h; y++) { pw.setColor(x, y, Color.WHITE); } } //ImageInput imageInput = new ImageInput(); //ImageInput imageInput = new ImageInput(wim); ImageInput imageInput = new ImageInput(wim, 50.0, 50.0); /* imageInput.setSource(wim); imageInput.setX(50.0); imageInput.setY(50.0); System.out.println(imageInput.getSource()); System.out.println(imageInput.getX()); System.out.println(imageInput.getY());*/ Blend effect3 = new Blend(BlendMode.DIFFERENCE, null, imageInput); Blend effect4 = new Blend(BlendMode.SRC_OVER, imageInput, null); Rectangle rect = new Rectangle(100.0, 100.0); rect.setFill(Color.GREEN); rect.setEffect(effect); rect.relocate(50.0, 50.0); Rectangle rect2 = new Rectangle(100.0, 100.0); rect2.setFill(Color.BLUE); rect2.setEffect(effect2); rect2.relocate(200.0, 50.0); Rectangle rect3 = new Rectangle(100.0, 100.0); rect3.setFill(Color.BLUE); rect3.setEffect(effect3); rect3.relocate(350.0, 50.0); Rectangle rect4 = new Rectangle(100.0, 100.0); rect4.setFill(Color.BLUE); rect4.setEffect(effect4); rect4.relocate(350.0, 200.0); pane.getChildren().addAll(rect, rect2, rect3, rect4); Scene scene = new Scene(pane, 500, 350); window.setScene(scene); window.setTitle("Blend"); window.show(); } public void newWindow18() { Stage window = new Stage(); Pane pane = new Pane(); //FloatMap floatMap = new FloatMap(); FloatMap floatMap = new FloatMap(150, 100); /*floatMap.setWidth(150); floatMap.setHeight(100);*/ for (int x = 0, w = floatMap.getWidth(); x < w; x++) { double value = Math.sin(x / 30.0 * Math.PI) / 10.0; for (int y = 0, h = floatMap.getHeight(); y < h; y++) { floatMap.setSamples(x, y, 0.0f, (float)value); /*floatMap.setSample(x, y, 0, 0.0f); floatMap.setSample(x, y, 1, (float)value);*/ } } DisplacementMap effect = new DisplacementMap(); effect.setMapData(floatMap); effect.setOffsetX(0.0); effect.setOffsetY(0.0); effect.setScaleX(1.0); effect.setScaleY(1.0); effect.setWrap(false); effect.setInput(null); System.out.println(effect.getMapData()); System.out.println(effect.getOffsetX()); System.out.println(effect.getOffsetY()); System.out.println(effect.getScaleX()); System.out.println(effect.getScaleY()); System.out.println(effect.isWrap()); System.out.println(effect.getInput()); DisplacementMap effect2 = new DisplacementMap(floatMap); effect2.setWrap(true); effect2.setOffsetX(0.2); DisplacementMap effect3 = new DisplacementMap(floatMap, 0.0, 0.0, 2.0, 2.0); effect3.setOffsetX(0.2); Text text = new Text("JavaFX"); text.setFill(Color.BLUE); text.setFont(Font.font("Verdana", FontWeight.BOLD, 60.0)); text.setEffect(effect); text.relocate(100.0, 30.0); Text text2 = new Text("JavaFX"); text2.setFill(Color.RED); text2.setFont(Font.font("Verdana", FontWeight.BOLD, 60.0)); text2.setEffect(effect2); text2.relocate(100.0, 100.0); Text text3 = new Text("JavaFX"); text3.setFill(Color.RED); text3.setFont(Font.font("Verdana", FontWeight.BOLD, 60.0)); text3.setEffect(effect3); text3.relocate(100.0, 170.0); pane.getChildren().addAll(text, text2, text3); Scene scene = new Scene(pane, 500, 300); window.setScene(scene); window.setTitle("DisplacementMap"); window.show(); } }