【发布时间】:2016-06-13 21:53:20
【问题描述】:
这里我有一个方法,它生成一个应该是透明的,带有一堆矩形的 ScrollPane 的舞台。
private Stage createStage()
{
Stage stage = new Stage(StageStyle.TRANSPARENT);
FlowPane flw = new FlowPane();
flw.setBackground(Background.EMPTY);
Random gen = new Random(5);
for (int i = 0; i < 50; i++)
{
int size = 50 + gen.nextInt(50);
flw.getChildren().add(new Rectangle(size, size, Color.web("rgb(" + gen.nextInt(255) + "," + gen.nextInt(255) + "," + gen.nextInt(255) + ")")));
}
ScrollPane root = new ScrollPane(flw);
root.setMaxSize(500, 500);
root.setBackground(Background.EMPTY);
Scene scene = new Scene(root, Color.TRANSPARENT);
stage.setScene(scene);
return stage;
}
这是调用 Stage.show() 时上面代码的输出:
这个阶段会在一个新窗口中弹出,但如您所见,背景是白色的,无法透视。我感觉 ScrollPane 或 FlowPane 有问题,因为只有 StageStyle.TRANSPARENT 和一个 Square 会弹出没有任何白色背景的正方形。
我做错了什么?我已经尝试过:
Pane.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT, CornerRadii.EMPTY, Insets.EMPTY)));
【问题讨论】: