2017-07-22 44 views
6

Próbuję dostać dolne narożniki okrągłe w mojej aplikacji, ale wynik jest taki:Zaokrąglone rogi w okienku fx java

enter image description here

Jest to plik 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; 
    } 
} 

I moja główna klasa:

@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); 
} 

Jak mogę usunąć białe narożniki?

+1

'-fx-border-radius: 10 10 0 0;' '-fx -background-radius: 10 10 0 0;' –

+1

Spróbuj dokonywania syta scena jako przezroczysta, scene.setFill (Color.Transparent); – karna

Odpowiedz

2

Wreszcie po tak wiele badań, a niektóre pomoc z hiszpańskiej wersji Stack O. najłatwiejszy sposób na usunięcie białej kukurydzy ers to:

W głównej klasy należy dodać:

scene.setFill(Color.TRANSPARENT); 

oraz:

stage.initStyle(StageStyle.TRANSPARENT); 

Jedynym problemem jest to, że StageStyle.TRANSPARENT zostawię was bez przycisku zamykania, więc trzeba zrobić to samemu. Końcowy wynik jest taki:

enter image description here

4

Jeśli nie chcesz, aby tło pokolorować tylko spróbuj tego: -fx-background-color: transparent;

LUB

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

LUB

-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. */