【发布时间】:2015-10-23 08:52:09
【问题描述】:
有没有办法设置标题窗格的动画速度?我什么也找不到。 其实有两个问题。 第一的: 展开的动画比内容本身的展开要快。您会看到圆圈比第二个标题窗格中的条向下移动的速度稍慢。
第二: 如何改变他们两个的速度。我需要它们以相同的速度,因为它看起来很奇怪。
这是一个用于测试目的的小示例: 封装测试;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.TitledPane;
import javafx.scene.layout.VBox;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class TestClass extends Application{
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
VBox vb = new VBox();
{
TitledPane tp = new TitledPane();
System.out.println(tp.getContextMenu());
tp.setContent(new Circle(100));
tp.setText("asfadf");
tp.expandedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
System.out.println("expand " + newValue);
}
});
vb.getChildren().add(tp);
}
vb.getChildren().add(new Line(0, 0, 100, 0));
{
TitledPane tp = new TitledPane();
tp.setContent(new Circle(100));
tp.setText("asfadf");
tp.expandedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
System.out.println("expand " + newValue);
}
});
vb.getChildren().add(tp);
}
vb.setStyle("-fx-background-color: gray");
Scene scene = new Scene(vb,500,500);
primaryStage.setScene(scene);
primaryStage.show();
}
}
【问题讨论】:
-
我正在添加一个答案,因为我没有足够的声誉来发表评论。截至 2019 年 6 月 12 日,在bugs.openjdk.java.net/browse/JDK-8225574 处打开了一个未解决的 jdk 问题,将继续监控..