在javafx中更改场景
这个代码怎么了? 我真的很困惑!! 我想改变我在主舞台上的场景在javafx中更改场景,java,javafx,timeline,Java,Javafx,Timeline,这个代码怎么了? 我真的很困惑!! 我想改变我在主舞台上的场景 public class SignInController { @FXML TextField SignInPassword; @FXML TextField SignInUsername; @FXML CheckBox RememberMe; public void signUpScene(MouseEvent mouseEvent) throws IOExceptio
public class SignInController {
@FXML
TextField SignInPassword;
@FXML
TextField SignInUsername;
@FXML
CheckBox RememberMe;
public void signUpScene(MouseEvent mouseEvent) throws IOException {
Timeline timeline = new Timeline();
Scene SignUpScene = new Scene(FXMLLoader.load(getClass().getResource("sign up.fxml")),700,700);
Main.pstage.setScene(SignUpScene);
timeline.getKeyFrames().addAll(
new KeyFrame(Duration.ZERO,new KeyValue(SignUpScene.getWidth(),0.0 )),
new KeyFrame(Duration.millis(1000.0d),new KeyValue(SignUpScene.getWidth(),700.0 ) )
);
timeline.play();
}
}
如果要设置容纳新场景的舞台宽度的动画,可以使用: 也许更好的方法是使用剪辑逐渐显示新场景:
public void signUpScene(MouseEvent mouseEvent) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("sign up.fxml"));
Scene SignUpScene = new Scene(root,700,700);
Main.pstage.setScene(SignUpScene);
Rectangle clip = new Rectangle(0, 700);
Timeline animate = new Timeline(
new KeyFrame(Duration.millis(1000),
new KeyValue(clip.widthProperty(), 700.0));
root.setClip(clip);
// when animation finishes, remove clip:
animate.setOnFinished(e -> root.setClip(null));
animate.play();
}
}
如果要设置容纳新场景的舞台宽度的动画,可以使用: 也许更好的方法是使用剪辑逐渐显示新场景:
public void signUpScene(MouseEvent mouseEvent) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("sign up.fxml"));
Scene SignUpScene = new Scene(root,700,700);
Main.pstage.setScene(SignUpScene);
Rectangle clip = new Rectangle(0, 700);
Timeline animate = new Timeline(
new KeyFrame(Duration.millis(1000),
new KeyValue(clip.widthProperty(), 700.0));
root.setClip(clip);
// when animation finishes, remove clip:
animate.setOnFinished(e -> root.setClip(null));
animate.play();
}
}
这甚至不会编译,对吗?@James\u D我知道,但我该怎么办?你不能创建一个指定两个双精度的
KeyValue
。难道你没有得到一个编译错误告诉你吗?您需要一个可写值
——通常是属性
。“你们到底想干什么?”詹姆斯·D事实上这个场景并没有任何可写的价值——我知道这一点。你的问题标题只是说你想改变场景。时间线是干什么的?它甚至不会编译,是吗?@James\u D我知道,但我该怎么办?你不能创建一个指定两个双精度的KeyValue
。难道你没有得到一个编译错误告诉你吗?您需要一个可写值
——通常是属性
。“你们到底想干什么?”詹姆斯·D事实上这个场景并没有任何可写的价值——我知道这一点。你的问题标题只是说你想改变场景。时间表是什么?