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