Example usage for javafx.scene.paint Color RED

List of usage examples for javafx.scene.paint Color RED

Introduction

In this page you can find the example usage for javafx.scene.paint Color RED.

Prototype

Color RED

To view the source code for javafx.scene.paint Color RED.

Click Source Link

Document

The color red with an RGB value of #FF0000

Usage

From source file:Main.java

static Node motionBlur() {
    Text t = new Text();
    t.setX(20.0f);/*from  w w  w .  j  av  a2  s .c  o m*/
    t.setY(80.0f);
    t.setText("Motion Blur");
    t.setFill(Color.RED);
    t.setFont(Font.font("null", FontWeight.BOLD, 60));

    MotionBlur mb = new MotionBlur();
    mb.setRadius(15.0f);
    mb.setAngle(45.0f);

    t.setEffect(mb);

    t.setTranslateX(520);
    t.setTranslateY(100);

    return t;
}

From source file:Main.java

static Node lighting() {
    Light.Distant light = new Light.Distant();
    light.setAzimuth(-135.0f);//from www  . j  a va  2s. c om

    Lighting l = new Lighting();
    l.setLight(light);
    l.setSurfaceScale(5.0f);

    Text t = new Text();
    t.setText("JavaFX\nLighting!");
    t.setFill(Color.RED);
    t.setFont(Font.font("null", FontWeight.BOLD, 70));
    t.setX(500.0f);
    t.setY(100.0f);
    t.setTextOrigin(VPos.TOP);

    t.setEffect(l);

    t.setTranslateX(0);
    t.setTranslateY(320);

    return t;
}

From source file:Main.java

static Node innerShadow() {
    InnerShadow is = new InnerShadow();
    is.setOffsetX(2.0f);//w w w .j av a 2  s.co m
    is.setOffsetY(2.0f);

    Text t = new Text();
    t.setEffect(is);
    t.setX(20);
    t.setY(100);
    t.setText("Inner Shadow");
    t.setFill(Color.RED);
    t.setFont(Font.font("null", FontWeight.BOLD, 80));

    t.setTranslateX(300);
    t.setTranslateY(300);

    return t;
}

From source file:org.dataconservancy.packaging.gui.presenter.impl.PackageGenerationPresenterImpl.java

private void bind() {
    if (backgroundService == null) {
        backgroundService = new BackgroundPackageService();
    }// ww w  . j  a v  a  2 s. com

    backgroundService.setOnSucceeded(t -> {
        if (Platform.isFxApplicationThread()) {
            view.getProgressPopup().hide();
            view.showSuccessPopup();
            view.scrollToTop();
        }
        backgroundService.reset();
    });

    backgroundService.setOnFailed(workerStateEvent -> {

        view.getProgressPopup().hide();
        if (workerStateEvent.getSource().getMessage() == null
                || workerStateEvent.getSource().getMessage().isEmpty()) {
            Throwable e = workerStateEvent.getSource().getException();
            view.getStatusLabel()
                    .setText(errors.get(ErrorKey.PACKAGE_GENERATION_CREATION_ERROR) + " " + e.getMessage());
        } else {
            view.getStatusLabel().setText(workerStateEvent.getSource().getMessage());
        }

        view.getStatusLabel().setTextFill(Color.RED);
        view.getStatusLabel().setVisible(true);
        view.scrollToTop();
        backgroundService.reset();
    });

    backgroundService.setOnCancelled(workerStateEvent -> {
        if (Platform.isFxApplicationThread()) {
            view.getProgressPopup().hide();
        }
        view.getStatusLabel().setText(workerStateEvent.getSource().getMessage());
        view.getStatusLabel().setTextFill(Color.RED);
        view.getStatusLabel().setVisible(true);
        view.scrollToTop();
        backgroundService.reset();
    });

    //Handles the user pressing the button to set an output directory where the package will be saved.
    view.getSelectOutputDirectoryButton().setOnAction(arg0 -> {
        File file = controller.showOpenDirectoryDialog(view.getOutputDirectoryChooser());
        if (file != null) {
            controller.setOutputDirectory(file);
            view.getOutputDirectoryChooser().setInitialDirectory(controller.getOutputDirectory());
            //Set the package location parameter based on the new output directory.
            generationParams.addParam(GeneralParameterNames.PACKAGE_LOCATION,
                    controller.getOutputDirectory().getAbsolutePath());

            setOutputDirectory(true);
        }
    });

    //Handles the user changing the package name
    view.getPackageNameField().textProperty().addListener((observableValue, oldVal, newVal) -> {
        setOutputDirectory(true);
    });

    //Handles the user pressing the no thanks link on the create another package popup. This will take the user
    //back to the home screen. 
    view.getNoThanksLink().setOnAction(arg0 -> {
        if (view.getSuccessPopup() != null && view.getSuccessPopup().isShowing()) {
            view.getSuccessPopup().hide();
        }
        controller.showHome(true);
    });

    //Handles the user pressing the create another package button on the create another package popup. This will 
    //dismiss the popup and keep the user on the screen.
    view.getCreateNewPackageButton().setOnAction(arg0 -> {
        if (view.getSuccessPopup() != null && view.getSuccessPopup().isShowing()) {
            view.getSuccessPopup().hide();
        }
        //this will get reset later - need to make sure this is empty now
        generationParams.removeParam(BoremParameterNames.PKG_ORE_REM);
    });

    // This listener is for choosing cancel when overwriting a package file, just closes the popup
    view.getCancelFileOverwriteButton().setOnAction(arg0 -> view.getFileOverwriteWarningPopup().hide());

    // This listener is for choosing to overwrite a package file; closes the window and proceeds
    view.getOkFileOverwriteButton().setOnAction(actionEvent -> {
        view.getFileOverwriteWarningPopup().hide();
        view.getStatusLabel().setVisible(false);
        view.getProgressPopup().show();
        backgroundService.setOverwriteFile(true);
        backgroundService.execute();
    });

    //This listener changes what is shown in the output directory box when the archiving format is changed.
    view.getArchiveToggleGroup().selectedToggleProperty().addListener((ov, toggle, archiveToggle) -> {
        if (archiveToggle != null) {
            setOutputDirectory(true);

            //Set the parameter for the archive format.
            String archiveExtension = (String) archiveToggle.getUserData();
            generationParams.removeParam(GeneralParameterNames.ARCHIVING_FORMAT);

            if (!archiveExtension.isEmpty()) {
                generationParams.addParam(GeneralParameterNames.ARCHIVING_FORMAT, archiveExtension);
            }

            //when we select zip or exploded as our archiving format, we must select 'none' as our compression
            if (archiveExtension.equals("zip") || archiveExtension.equals("exploded")) {
                Toggle noCompressionToggle = getNoCompressionToggle();
                if (noCompressionToggle != null
                        && noCompressionToggle != view.getCompressionToggleGroup().getSelectedToggle()) {
                    view.getCompressionToggleGroup().selectToggle(noCompressionToggle);
                }
            }
        }
    });

    //This listener changes what is shown in the output directory box when the compression format is changed.
    view.getCompressionToggleGroup().selectedToggleProperty().addListener((ov, toggle, compressionToggle) -> {
        if (compressionToggle != null) {
            setOutputDirectory(true);

            //Set the parameter for compression format.
            String compressionExtension = (String) compressionToggle.getUserData();
            generationParams.removeParam(GeneralParameterNames.COMPRESSION_FORMAT);

            if (!compressionExtension.isEmpty()) {
                generationParams.addParam(GeneralParameterNames.COMPRESSION_FORMAT, compressionExtension);
            }
        }
    });

    view.getMd5CheckBox().selectedProperty().addListener((ov, oldValue, newValue) -> {
        List<String> params = generationParams.getParam(BagItParameterNames.CHECKSUM_ALGORITHMS);

        if (newValue) {
            if (params != null && !params.isEmpty() && !params.contains("md5")) {
                params.add("md5");
            }
        } else {
            if (params != null && !params.isEmpty()) {
                params.remove("md5");
            }
        }
    });

    view.getSHA1CheckBox().selectedProperty().addListener((ov, oldValue, newValue) -> {
        List<String> params = generationParams.getParam(BagItParameterNames.CHECKSUM_ALGORITHMS);

        if (newValue) {
            if (params != null && !params.isEmpty() && !params.contains("sha1")) {
                params.add("sha1");
            }
        } else {
            if (params != null && !params.isEmpty()) {
                params.remove("sha1");
            }
        }
    });

    if (Platform.isFxApplicationThread()) {
        ((ProgressDialogPopup) view.getProgressPopup())
                .setCancelEventHandler(event -> backgroundService.cancel());
    }

    /*Handles when the continue button is pressed in the footer. 
    * In this case it creates package params based on the options selected, it then tries to generate a package and save it to the output directory.
    * If successful a popup is shown asking the user if they want to create another package, otherwise an error message is displayed informing the user what went wrong
    * and error is logged.
    */
    view.getContinueButton().setOnAction(arg0 -> {
        view.getStatusLabel().setVisible(false);
        if (Platform.isFxApplicationThread()) {
            view.getProgressPopup().show();
        }
        backgroundService.setOverwriteFile(false);
        backgroundService.execute();
    });
}

From source file:Main.java

@Override
public void start(final Stage stage) {
    stage.setTitle("Xylophone");

    camOffset.getChildren().add(cam);/*from ww w. j a va  2  s.c  o m*/
    resetCam();

    final Scene scene = new Scene(camOffset, 800, 600, true);
    scene.setFill(new RadialGradient(225, 0.85, 300, 300, 500, false, CycleMethod.NO_CYCLE,
            new Stop[] { new Stop(0f, Color.BLUE), new Stop(1f, Color.LIGHTBLUE) }));
    scene.setCamera(new PerspectiveCamera());

    final AudioClip bar1Note = new AudioClip(Main.class.getResource("audio/Note1.wav").toString());
    final AudioClip bar2Note = new AudioClip(Main.class.getResource("audio/Note2.wav").toString());
    final AudioClip bar3Note = new AudioClip(Main.class.getResource("audio/Note3.wav").toString());
    final AudioClip bar4Note = new AudioClip(Main.class.getResource("audio/Note4.wav").toString());
    final AudioClip bar5Note = new AudioClip(Main.class.getResource("audio/Note5.wav").toString());
    final AudioClip bar6Note = new AudioClip(Main.class.getResource("audio/Note6.wav").toString());
    final AudioClip bar7Note = new AudioClip(Main.class.getResource("audio/Note7.wav").toString());
    final AudioClip bar8Note = new AudioClip(Main.class.getResource("audio/Note8.wav").toString());

    Group rectangleGroup = new Group();
    rectangleGroup.getTransforms().add(shear);
    rectangleGroup.setDepthTest(DepthTest.ENABLE);

    double xStart = 260.0;
    double xOffset = 30.0;
    double yPos = 300.0;
    double zPos = 0.0;
    double barWidth = 22.0;
    double barDepth = 7.0;

    // Base1
    Cube base1Cube = new Cube(1.0, new Color(0.2, 0.12, 0.1, 1.0), 1.0);
    base1Cube.setTranslateX(xStart + 135);
    base1Cube.setTranslateZ(yPos + 20.0);
    base1Cube.setTranslateY(11.0);
    base1Cube.setScaleX(barWidth * 11.5);
    base1Cube.setScaleZ(10.0);
    base1Cube.setScaleY(barDepth * 2.0);

    // Base2
    Cube base2Cube = new Cube(1.0, new Color(0.2, 0.12, 0.1, 1.0), 1.0);
    base2Cube.setTranslateX(xStart + 135);
    base2Cube.setTranslateZ(yPos - 20.0);
    base2Cube.setTranslateY(11.0);
    base2Cube.setScaleX(barWidth * 11.5);
    base2Cube.setScaleZ(10.0);
    base2Cube.setScaleY(barDepth * 2.0);

    // Bar1
    Cube bar1Cube = new Cube(1.0, Color.PURPLE, 1.0);
    bar1Cube.setTranslateX(xStart + 1 * xOffset);
    bar1Cube.setTranslateZ(yPos);
    bar1Cube.setScaleX(barWidth);
    bar1Cube.setScaleZ(100.0);
    bar1Cube.setScaleY(barDepth);

    // Bar2
    Cube bar2Cube = new Cube(1.0, Color.BLUEVIOLET, 1.0);
    bar2Cube.setTranslateX(xStart + 2 * xOffset);
    bar2Cube.setTranslateZ(yPos);
    bar2Cube.setScaleX(barWidth);
    bar2Cube.setScaleZ(95.0);
    bar2Cube.setScaleY(barDepth);

    // Bar3
    Cube bar3Cube = new Cube(1.0, Color.BLUE, 1.0);
    bar3Cube.setTranslateX(xStart + 3 * xOffset);
    bar3Cube.setTranslateZ(yPos);
    bar3Cube.setScaleX(barWidth);
    bar3Cube.setScaleZ(90.0);
    bar3Cube.setScaleY(barDepth);

    // Bar4
    Cube bar4Cube = new Cube(1.0, Color.GREEN, 1.0);
    bar4Cube.setTranslateX(xStart + 4 * xOffset);
    bar4Cube.setTranslateZ(yPos);
    bar4Cube.setScaleX(barWidth);
    bar4Cube.setScaleZ(85.0);
    bar4Cube.setScaleY(barDepth);

    // Bar5
    Cube bar5Cube = new Cube(1.0, Color.GREENYELLOW, 1.0);
    bar5Cube.setTranslateX(xStart + 5 * xOffset);
    bar5Cube.setTranslateZ(yPos);
    bar5Cube.setScaleX(barWidth);
    bar5Cube.setScaleZ(80.0);
    bar5Cube.setScaleY(barDepth);

    // Bar6
    Cube bar6Cube = new Cube(1.0, Color.YELLOW, 1.0);
    bar6Cube.setTranslateX(xStart + 6 * xOffset);
    bar6Cube.setTranslateZ(yPos);
    bar6Cube.setScaleX(barWidth);
    bar6Cube.setScaleZ(75.0);
    bar6Cube.setScaleY(barDepth);

    // Bar7
    Cube bar7Cube = new Cube(1.0, Color.ORANGE, 1.0);
    bar7Cube.setTranslateX(xStart + 7 * xOffset);
    bar7Cube.setTranslateZ(yPos);
    bar7Cube.setScaleX(barWidth);
    bar7Cube.setScaleZ(70.0);
    bar7Cube.setScaleY(barDepth);

    // Bar8
    Cube bar8Cube = new Cube(1.0, Color.RED, 1.0);
    bar8Cube.setTranslateX(xStart + 8 * xOffset);
    bar8Cube.setTranslateZ(yPos);
    bar8Cube.setScaleX(barWidth);
    bar8Cube.setScaleZ(65.0);
    bar8Cube.setScaleY(barDepth);

    bar1Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar1Note.play();
        }
    });
    bar2Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar2Note.play();
        }
    });
    bar3Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar3Note.play();
        }
    });
    bar4Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar4Note.play();
        }
    });
    bar5Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar5Note.play();
        }
    });
    bar6Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar6Note.play();
        }
    });
    bar7Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar7Note.play();
        }
    });
    bar8Cube.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            bar8Note.play();
        }
    });

    rectangleGroup.getChildren().addAll(base1Cube, base2Cube, bar1Cube, bar2Cube, bar3Cube, bar4Cube, bar5Cube,
            bar6Cube, bar7Cube, bar8Cube);
    rectangleGroup.setScaleX(2.5);
    rectangleGroup.setScaleY(2.5);
    rectangleGroup.setScaleZ(2.5);
    cam.getChildren().add(rectangleGroup);

    double halfSceneWidth = 375; // scene.getWidth()/2.0;
    double halfSceneHeight = 275; // scene.getHeight()/2.0;
    cam.p.setX(halfSceneWidth);
    cam.ip.setX(-halfSceneWidth);
    cam.p.setY(halfSceneHeight);
    cam.ip.setY(-halfSceneHeight);

    frameCam(stage, scene);

    scene.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            mousePosX = me.getX();
            mousePosY = me.getY();
            mouseOldX = me.getX();
            mouseOldY = me.getY();
            //System.out.println("scene.setOnMousePressed " + me);
        }
    });
    scene.setOnMouseDragged(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent me) {
            mouseOldX = mousePosX;
            mouseOldY = mousePosY;
            mousePosX = me.getX();
            mousePosY = me.getY();
            mouseDeltaX = mousePosX - mouseOldX;
            mouseDeltaY = mousePosY - mouseOldY;
            if (me.isAltDown() && me.isShiftDown() && me.isPrimaryButtonDown()) {
                double rzAngle = cam.rz.getAngle();
                cam.rz.setAngle(rzAngle - mouseDeltaX);
            } else if (me.isAltDown() && me.isPrimaryButtonDown()) {
                double ryAngle = cam.ry.getAngle();
                cam.ry.setAngle(ryAngle - mouseDeltaX);
                double rxAngle = cam.rx.getAngle();
                cam.rx.setAngle(rxAngle + mouseDeltaY);
            } else if (me.isShiftDown() && me.isPrimaryButtonDown()) {
                double yShear = shear.getY();
                shear.setY(yShear + mouseDeltaY / 1000.0);
                double xShear = shear.getX();
                shear.setX(xShear + mouseDeltaX / 1000.0);
            } else if (me.isAltDown() && me.isSecondaryButtonDown()) {
                double scale = cam.s.getX();
                double newScale = scale + mouseDeltaX * 0.01;
                cam.s.setX(newScale);
                cam.s.setY(newScale);
                cam.s.setZ(newScale);
            } else if (me.isAltDown() && me.isMiddleButtonDown()) {
                double tx = cam.t.getX();
                double ty = cam.t.getY();
                cam.t.setX(tx + mouseDeltaX);
                cam.t.setY(ty + mouseDeltaY);
            }
        }
    });
    scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
        public void handle(KeyEvent ke) {
            if (KeyCode.A.equals(ke.getCode())) {
                resetCam();
                shear.setX(0.0);
                shear.setY(0.0);
            }
            if (KeyCode.F.equals(ke.getCode())) {
                frameCam(stage, scene);
                shear.setX(0.0);
                shear.setY(0.0);
            }
            if (KeyCode.SPACE.equals(ke.getCode())) {
                if (stage.isFullScreen()) {
                    stage.setFullScreen(false);
                    frameCam(stage, scene);
                } else {
                    stage.setFullScreen(true);
                    frameCam(stage, scene);
                }
            }
        }
    });

    stage.setScene(scene);
    stage.show();
}

From source file:Jigs_Desktop_Client.GUI.FXMLDocumentController.java

private void connectToUser(String user_to_search) {
    if (user_to_search.equals(""))
        user_to_search = this.to_user;
    try {// w w w . j av  a 2 s  .  co  m
        System.out.println("Searching for: " + user_to_search);
        if (jc.findUser(user_to_search)) {
            String to_user_status = "offline";
            this.to_user = user_to_search;
            for (UserStatus us : this.users_available) {
                if (us.getUsername().equalsIgnoreCase(user_to_search))
                    to_user_status = us.getStatus();
            }
            if (to_user_status.equals("online")) {
                this.connection_circle.setFill(Color.LIGHTGREEN);
                search_user_result.setText("Connected to @" + user_to_search);
                this.selected_user.setText("Connected to @" + user_to_search);
                try {
                    this.spin_earth_image.setImage(new Image(
                            getClass().getResource("resources/spin_earth_bright.gif").toURI().toString()));
                } catch (URISyntaxException ex) {
                    this.alert("resources/app_error.mp3");
                }
            } else {
                this.connection_circle.setFill(Color.YELLOW);
                search_user_result.setText("Offline messaging @" + user_to_search);
                this.selected_user.setText("Sending offline messages @" + user_to_search);
            }
            this.btn_send.setDisable(false);
            this.alert("resources/app_user_connected.mp3");
            main_tab_pane.getSelectionModel().select(2);
        } else {
            this.connection_circle.setFill(Color.RED);
            search_user_result.setText("No user found for @" + user_to_search);
            this.btn_send.setDisable(true);
            this.alert("resources/app_no_such_user.mp3");
        }
    } catch (IOException ex) {
        this.connection_circle.setFill(Color.RED);
        search_user_result.setText(ex.getMessage());
        this.btn_send.setDisable(true);
        this.alert("resources/app_error.mp3");
    }
}

From source file:eu.mihosoft.vrl.fxscad.MainController.java

private void compile(String code) {

    csgObject = null;//ww  w.  j  a  v a2  s .com

    clearLog();

    viewGroup.getChildren().clear();

    try {

        CompilerConfiguration cc = new CompilerConfiguration();

        cc.addCompilationCustomizers(
                new ImportCustomizer().addStarImports("eu.mihosoft.vrl.v3d", "eu.mihosoft.vrl.v3d.samples")
                        .addStaticStars("eu.mihosoft.vrl.v3d.Transform"));

        GroovyShell shell = new GroovyShell(getClass().getClassLoader(), new Binding(), cc);

        Script script = shell.parse(code);

        Object obj = script.run();

        if (obj instanceof CSG) {

            CSG csg = (CSG) obj;

            csgObject = csg;

            MeshContainer meshContainer = csg.toJavaFXMesh();

            final MeshView meshView = meshContainer.getAsMeshViews().get(0);

            setMeshScale(meshContainer, viewContainer.getBoundsInLocal(), meshView);

            PhongMaterial m = new PhongMaterial(Color.RED);

            meshView.setCullFace(CullFace.NONE);

            meshView.setMaterial(m);

            viewGroup.layoutXProperty().bind(viewContainer.widthProperty().divide(2));
            viewGroup.layoutYProperty().bind(viewContainer.heightProperty().divide(2));

            viewContainer.boundsInLocalProperty().addListener((ov, oldV, newV) -> {
                setMeshScale(meshContainer, newV, meshView);
            });

            VFX3DUtil.addMouseBehavior(meshView, viewContainer, MouseButton.PRIMARY);

            viewGroup.getChildren().add(meshView);

        } else {
            System.out.println(">> no CSG object returned :(");
        }

    } catch (Throwable ex) {
        ex.printStackTrace(System.err);
    }
}

From source file:Main.java

static Node boxBlur() {
    Text t = new Text();
    t.setText("Blurry Text!");
    t.setFill(Color.RED);
    t.setFont(Font.font("null", FontWeight.BOLD, 36));
    t.setX(10);/*from  w w w .j  a  va  2  s.  c om*/
    t.setY(40);

    BoxBlur bb = new BoxBlur();
    bb.setWidth(5);
    bb.setHeight(5);
    bb.setIterations(3);

    t.setEffect(bb);
    t.setTranslateX(300);
    t.setTranslateY(100);

    return t;
}

From source file:jp.co.heppokoact.autocapture.FXMLDocumentController.java

@FXML
private void areaButtonClicked(ActionEvent event) throws IOException {
    System.out.println("areaButtonClicked");

    // ??//from  w  ww  .  j a  v  a  2  s. com
    Stage transparentStage = createTransparentStage();

    // ?????
    Scene scene = transparentStage.getScene();
    scene.setOnMousePressed(e -> {
        // 
        dragStartX = (int) e.getScreenX();
        dragStartY = (int) e.getScreenY();
        // ??
        areaRect = new Rectangle(e.getX(), e.getY(), 0, 0);
        areaRect.setStroke(Color.RED);
        areaRect.setStrokeWidth(1.0);
        areaRect.setFill(Color.TRANSPARENT);
        ((Pane) scene.getRoot()).getChildren().add(areaRect);
    });

    // ?????
    scene.setOnMouseDragged(e -> {
        // ??????
        areaRect.setWidth(e.getScreenX() - dragStartX);
        areaRect.setHeight(e.getScreenY() - dragStartY);

    });

    // ?????
    scene.setOnMouseReleased(e -> {
        // ?
        areaStartX.set(dragStartX);
        areaStartY.set(dragStartY);
        areaEndX.set((int) e.getScreenX());
        areaEndY.set((int) e.getScreenY());
        // ??
        transparentStage.close();
    });

    // ??????
    transparentStage.setOnCloseRequest(e -> {
        // ?????
        dragStartX = 0;
        dragStartY = 0;
        areaRect = null;
    });

    transparentStage.show();
}

From source file:Main.java

static Node dropShadow() {
    Group g = new Group();
    DropShadow ds = new DropShadow();
    ds.setOffsetY(3.0f);//from  w  w w .j av  a2s . co m
    ds.setColor(Color.color(0.4f, 0.4f, 0.4f));

    Text t = new Text();
    t.setEffect(ds);
    t.setCache(true);
    t.setX(10.0f);
    t.setY(270.0f);
    t.setFill(Color.RED);
    t.setText("JavaFX drop shadow...");
    t.setFont(Font.font("null", FontWeight.BOLD, 32));

    DropShadow ds1 = new DropShadow();
    ds1.setOffsetY(4.0f);

    Circle c = new Circle();
    c.setEffect(ds1);
    c.setCenterX(50.0f);
    c.setCenterY(325.0f);
    c.setRadius(30.0f);
    c.setFill(Color.ORANGE);
    c.setCache(true);

    g.getChildren().add(t);
    g.getChildren().add(c);
    return g;
}