ここでは、矩形の束のScrollPaneで透明にするステージを生成するメソッドがあります。トランスペアレントな透明なステージ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()が呼び出されたときに上記のコードの出力です:
このステージは新しいウィンドウでポップアップしますが、あなたが見るように、背景が白であります見ることができません。 StageStyle.TRANSPARENT
と1つのSquareだけで白い背景なしに四角形のポップアップが作成されたので、私はScrollPaneまたはFlowPaneに問題があると感じました。
私は間違っていますか?私はすでにやってみました:
Pane.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT, CornerRadii.EMPTY, Insets.EMPTY)));
のいずれかにどのように任意のアイデアを読みやすいコードを作るべきではなく、CSSでそれらを実装することで、スタイリングのために使用されるコードの一部のJavaラインを減らすことができますCSSやBを使わないで) 'myScrollpane.setStyle(StringHere);'のようにします。 – Hatefiend
さて、私はそのフォーマットを行うことを認め、CSSファイルを作成しました。助けてくれてありがとう。あなたが他の可能な方法で詳述できるなら、私は非常に感謝します。 – Hatefiend
[これ](https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#lookup-java.lang.String-)を読むことができます。これは代替ですしかし、私はCSSがこれをうまく処理するときにはお勧めしません – Peter