有没有办法在java FX中翻译弹出窗口(不是Node)等东西? 例如淡入淡出过渡,平移过渡或任何时间线过渡.... 感谢的
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
您能举例说明您打电话给弹出窗口的内容吗? 例如,您可以在主舞台的顶部创建一个新舞台。 您还可以使用一些Tooltip类在窗口顶部添加一些文本。 如果你想要更多的经典窗口,你应该看看Alert类。
安东尼