java - 如何在时间线期间在顶部设置窗格?
问题描述
我想确保当您按下按钮而不是红色窗格与黑色窗格重叠时,红色窗格位于黑色窗格下方,让位于绿色面板。简而言之,我想让黑色窗格(标题)始终保持在其他所有人之上。我尝试使用 toback() 和 toFront(),但它并没有改变任何东西。我也试过 setViewOrder() 但也没有结果。
以下是代码:
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
primaryStage.setTitle("Prova");
Pane mainPane=new Pane();
Pane header=new Pane();
header.setPrefSize(300, 100);
header.getStyleClass().add("header");
header.setViewOrder(1);
Pane main=new Pane();
main.setLayoutY(100);
main.setPrefSize(300, 200);
main.getStyleClass().add("main");
Pane p1=new Pane();
p1.getStyleClass().add("p1");
p1.setPrefSize(300,200);
p1.setViewOrder(-1);
Pane p2=new Pane();
p2.getStyleClass().add("p2");
p2.setPrefSize(300,200);
p2.setViewOrder(-1);
main.getChildren().addAll(p1);
Button b=new Button();
b.setOnAction(e -> {
main.getChildren().addAll(p2);
Timeline timeline = new Timeline(
new KeyFrame(Duration.millis(0), new KeyValue(p1.layoutYProperty(), p1.getLayoutY())),
new KeyFrame(Duration.millis(800), new KeyValue(p1.layoutYProperty(), p1.getLayoutY()-200)),
new KeyFrame(Duration.millis(0), new KeyValue(p2.layoutYProperty(), p2.getLayoutY()+200)),
new KeyFrame(Duration.millis(800), new KeyValue(p2.layoutYProperty(), p2.getLayoutY()))
);
timeline.play();
});
mainPane.getChildren().addAll(header, b, main);
Scene scene = new Scene(mainPane, 300, 275);
scene.getStylesheets().add("style.css");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
样式.css:
.header {
-fx-background-color: #0b0b0b;
}
.main {
-fx-background-color: #121212;
}
.p1 {
-fx-background-color: red;
}
.p2 {
-fx-background-color: green;
}
解决方案
推荐阅读
- amazon-web-services - 如何等到我的 lambda 函数完成对 SQS 队列的处理?
- javascript - 从tradingview获取图表图片
- javascript - 单击折叠按钮时出现问题
- python - 如何根据逗号拆分文件行并连接新字符串
- python - ImportError:无法导入`pydot`
- python - 我的脚本在控制台上运行时有效,但在 cron 上安排时不起作用(?)
- java - 带有 Android 的 Django 后端
- matlab - 在 Matlab 中使用 Weka NaiveBayes
- sql - 下面的 SQL 查询中的内部查询是做什么的?min 函数中有两个 datetime 函数是什么意思?
- python-3.x - 在python 3中从对象类型[]转换熊猫列