web-dev-qa-db-ja.com

Java fxペインの丸い角

私のアプリケーションでは丸い角を取得しようとしていますが、結果は次のとおりです。

enter image description here

これはCSSファイルです:

.mainFxmlClass {
  #pane{
    -fx-background-size: 1200 900;
    -fx-background-radius: 0 0 18 18;
    -fx-border-radius: 0 0 18 18;
    -fx-background-color: #FC3D44;
  }
}

そして私のメインクラス:

@Override
public void start(Stage stage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("Preview.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
}
public static void main(String[] args) {
    launch(args);
}

これらの白い角を削除するにはどうすればよいですか?

14
F.Stan

最後に、スペイン語版のStack Oからの多くの調査といくつかの助けの後、白い角を削除する最も簡単な方法は次のとおりです。

メインクラスで追加する必要があります:

scene.setFill(Color.TRANSPARENT);

そして:

stage.initStyle(StageStyle.TRANSPARENT);

唯一の問題はStageStyle.TRANSPARENTは閉じるボタンがないため、自分で作成する必要があります。最終結果はこれです:

enter image description here

10
F.Stan

色を背景にしたくない場合は、これを試してください:-fx-background-color: transparent;

OR

-fx-background-size: 1200 900;
-fx-background-radius: 30;
-fx-border-radius: 30;
-fx-border-width:5;
-fx-border-color: #FC3D44;

OR

 -fx-background-size: 1200 900;
 -fx-border-radius: 10 10 0 0;
 -fx-background-radius: 10 10 0 0;
 -fx-border-color: #FC3D44;

  /* top-left, top-right, bottom-right, and bottom-left corners, in that order. */
6

ただし、Cssに背景を配置するときに、無地ではなく背景の画像を使用する場合は、次のようにします。

-fx-background-image: url("backs/background.jpg");

そのようなコードをMainクラスに配置する必要があります。

Rectangle rect = new Rectangle(1024,768);
rect.setArcHeight(60.0);
rect.setArcWidth(60.0);
root.setClip(rect);

ここで見つけました

1
Hossein Mf