JavaFX FXML로 작업하고 있는데 CSS로 스타일을 지정하는 데 문제가 있습니다.스타일 레이아웃 변수를 만들지 않고 JavaFX FXML이있는 CSS의 패닝?
내 루트 노드에 GridPane
이 있는데 배경 스타일을 지정하고 싶습니다. GridPane
자체는 Java 코드 (@FXML
)에서 언급되지 않았습니다. 코드에서 전혀 사용되지 않았기 때문입니다.
그러나, 지금 응용 프로그램을 스타일링 그리고 난이 Oracle's Official Guide of Styling Layout Panes with CSS에서 얻을 수있는 것은 내가 그렇게 같은 변수를 만들어야한다는 것입니다 : GridPane grid = new GridPane();
다음 변수를 스타일을 할당 진행과 같이 :
.grid {
-fx-background-color: white;
-fx-background-radius: 5.0;
-fx-background-insets: 0.0 5.0 0.0 5.0;
-fx-padding: 10;
-fx-hgap: 10;
-fx-vgap: 10;
}
그런 다음 스타일을 추가하십시오 (예 : grid.getStyleClass().add("grid");
).
프로젝트 전체에서 여러 장면에서 복수 GridPane
을 가지고 있기 때문에 이것은 실현할 수없는 해결책이며, 모든 변수를 수동으로 만들 필요가 없습니다.
버튼을 스타일링하는 것과 비슷한 해결책이 있습니까? (참조
.button{
-fx-text-fill: rgb(49, 89, 23);
-fx-border-color: rgb(49, 89, 23);
-fx-border-radius: 5;
-fx-padding: 3 6 6 6;
}
이
[GridPane-Doc] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/GridPane.html) : GridPane은 CSS를 사용하여 배경 및 테두리 스타일을 지정할 수 있습니다 . 자세한 내용은 [Region] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Region.html) 수퍼 클래스를 참조하십시오. 그리고 지역을위한 CSS는 [여기] (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#region)입니다. 그러나 지역을 변화시키는 것은 좋은 조언이 아닙니다. 그래서 당신의 솔루션은 상당히 훌륭합니다. 아마도 루프에 클래스를 추가해야 할 것입니다. – NwDev
GridPane에는 기본적으로 스타일 클래스가 없으므로 수동으로 스타일 클래스를 추가해야합니다. – Kachna
@Kachna 어떻게 그럴 수 있습니까? – Berry