Gibt es eine Möglichkeit, die Animationsgeschwindigkeit eines betitelten Panels einzustellen? Ich konnte nichts finden. Tatsächlich gibt es zwei Probleme. Erstens: Die Animation der Erweiterung ist schneller als die Erweiterung des Inhalts selbst. Sie sehen, dass der Kreis etwas langsamer ist als der Balken von der zweiten betitelten Platte nach unten bewegt wird.Javafx betiteltepane Animationsgeschwindigkeit
Zweite: Wie Sie die Geschwindigkeit von beiden ändern. Ich brauche sie mit der gleichen Geschwindigkeit, weil es komisch aussieht.
Hier ist ein kleines Beispiel für Testzwecke: Paket Test;
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();
}
}