2017-07-22 15 views
6

Tôi đang cố gắng để có được góc tròn đáy trong ứng dụng của tôi, nhưng kết quả là thế này:Round Corners trong cửa sổ fx java

enter image description here

Đây là tập tin 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; 
    } 
} 

Và lớp học chính của tôi:

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

Làm cách nào để xóa các góc trắng này?

+1

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

+1

Hãy thử làm điền của cảnh trong suốt, scene.setFill (Color.Transparent); – karna

Trả lời

2

Cuối cùng sau rất nhiều nghiên cứu và một số giúp đỡ từ phiên bản tiếng Tây Ban Nha của Stack O. cách dễ nhất để loại bỏ ngô trắng ERS là thế này:

Trong lớp học chính bạn phải thêm:

scene.setFill(Color.TRANSPARENT); 

và:

stage.initStyle(StageStyle.TRANSPARENT); 

Vấn đề duy nhất là StageStyle.TRANSPARENT sẽ để lại cho bạn mà không có nút đóng, do đó bạn phải làm cho nó một mình. Kết quả cuối cùng là thế này:

enter image description here

4

Nếu bạn không muốn màu nền chỉ cố gắng này: -fx-background-color: transparent;

HOẶC

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

HOẶC

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