2017-09-14 58 views
5

Mam dwa panele - panel nadrzędny i okienko podrzędne. Okienko potomne znajduje się w okienku nadrzędnym. Okienko rodzic ma następujące reguły CSS:Styl okna css dla dzieci, gdy panel nadrzędny ma -fx-border-radius w JavaFX

-fx-border-color:derive(-fx-background, -35%); 
-fx-border-width:1; 
-fx-border-style:solid; 
-fx-border-radius:4; 

okienko dziecko ma następujące reguły CSS:

-fx-background-radius:25; 

i jest to jeden z rogu:
enter image description here

Jak widać na ziemię jest trochę blada - mam na myśli, że granica rodziców nie jest dobrze widoczna w samym rogu (lewy dolny róg). Aby rozwiązać ten problem, dodałem do dziecka -fx-background-radius:25, ale to nie pomogło. Jak to naprawić, biorąc pod uwagę, że nie mogę dodać dopełnienia do rodzica lub marginesu do dziecka?

+1

ja naprawdę nie wiem, co chce osiągnąć. – Sedrick

+1

Jestem ciekawa tej części: 'Nie mogę dodać dopełnienia do rodzica lub marginesu dla dziecka'. Jeśli jesteś programistą, dlaczego nie możesz tego zrobić? – Sedrick

+0

@Sedrick Jefferson Odpowiedź na twoje pytanie jest bardzo prosta - istnieją powody, z powodu których nie mogę użyć dopełnienia lub marginesu w tym przypadku, a które nie są częścią tego pytania. –

Odpowiedz

1

try dodając: -fx-background-radius:4; do panelu nadrzędnego (tak samo jak promień granicy)

+0

Próbowałem - wynik jest taki sam. –

-1

Aby dodać dopełnienie oto ref.

-fx-padding: 0 0 0 5; 
+0

Proszę zauważyć, że w pytaniu powiedziałem, że nie mogę użyć dopełnienia i marginesu. –

0

Utworzyłem próbkę fxml, biorąc pod uwagę twój komunikat o problemie.

nie robiłem nic specjalnego, ale to działało jak oczekiwano

Patrz poniżej pliku fxml na sam.

<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8"> 
    <children> 
     <Pane layoutX="129.0" layoutY="72.0" prefHeight="300.0" prefWidth="300.0" style="-fx-border-width: 1; -fx-border-style: solid; -fx-border-radius: 4; -fx-background-color: derive(-fx-background, -35%); -fx-background-radius: 4;"> 
     <children> 
      <Pane layoutX="1.0" layoutY="213.0" prefHeight="86.0" prefWidth="298.0" style="-fx-background-radius: 4; -fx-background-color: white;" /> 
     </children> 
     </Pane> 
    </children> 
</AnchorPane> 

wyjściowa:

enter image description here

+0

Jakiej wersji java i systemu operacyjnego używasz? –

+0

jdk1.8.0_131 i Windows 7. Użyłem też scenariusza javafx – Dhiraj