Round Corners in Java Fx Pane
I'm Trying to Get Round Bottom Corners in My Application, but the Result Is This: This Is the Css File: .Mainfxmlclass { #Pane{ -Fx-Background-Size: 1200 900...
I'm trying to get round bottom corners in my application, but the result is this:
This is the CSS file:
.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;
}
}
And my main class:
@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);
}
How can I remove these white corners?
3 Answers
Finally after so much research and some help from the spanish version of Stack O. the most easy way to remove the white corners is this:
In the main class you must add:
scene.setFill(Color.TRANSPARENT);
and:
stage.initStyle(StageStyle.TRANSPARENT);
The only problem is that StageStyle.TRANSPARENT will leave you without the close button so you must make it by yourself.
The final result is this:
If You Don't want to background Color the just try this:
-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. */
But if you want to have a picture for background instead of a solid color while you put the background in Css:
-fx-background-image: url("backs/background.jpg");
you should put such code in your Main class:
Rectangle rect = new Rectangle(1024,768);
rect.setArcHeight(60.0);
rect.setArcWidth(60.0);
root.setClip(rect);