как перевести всплывающие окна в javaFX?

Есть ли способ перевести что-то вроде всплывающих окон (которые не являются узлом) в java FX? например, исчезновение перехода, перевод перехода или любой переход временной шкалы .... . Спасибо


person faraa    schedule 06.08.2014    source источник


Ответы (2)


Создайте свойство и используйте Timeline для «анимации» свойства. Зарегистрируйте прослушиватель со свойством и обновите окно при изменении его значения.

Например:

import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;

public class TranslateWindowExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button moveButton = new Button("Move");

        moveButton.setOnAction(event -> {
            double currentX = primaryStage.getX() ;
            DoubleProperty x = new SimpleDoubleProperty(currentX);
            x.addListener((obs, oldX, newX) -> primaryStage.setX(newX.doubleValue()));
            KeyFrame keyFrame = new KeyFrame(Duration.seconds(1), new KeyValue(x, currentX + 100));
            Timeline animation = new Timeline(keyFrame);
            animation.play();
        });

        StackPane root = new StackPane(moveButton);
        Scene scene = new Scene(root, 250, 150);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
person James_D    schedule 06.08.2014

Можете ли вы привести пример того, что вы называете всплывающим окном? Например, вы можете создать новую сцену поверх основной сцены. Вы также можете использовать класс Tooltip, чтобы добавить текст поверх окна. Если вам нужны более классические окна, обратите внимание на класс Alert.

Энтони

person AnthonyCFE    schedule 26.04.2016