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

1

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

Теги:
javafx
javafx-8
javafx-2
scenebuilder

2 ответа

1

Создайте свойство и используйте 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);
    }
}
0

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

Энтони

Ещё вопросы

Сообщество Overcoder
Наверх
Меню