Одна из возможностей - это то, что вы упоминали использовать setStyleметод узла.
public class MyScrollPane extends ScrollPane {
public MyScrollPane(){
setStyle("-fx-background-color: blue;");
}
}
Другая возможность использовать CSS стилей
Это один предложенный подход, так как он полностью разделяет CSS стили из кода Java.
Примечание: MyScrollPane.css
размещен в той же папке, где и сам класс.
MyScrollPane.java
public class MyScrollPane extends ScrollPane {
public MyScrollPane(){
getStylesheets().add(getClass().getResource("MyScrollPane.css").toExternalForm());
}
}
В этой таблице стилей вы можете перезаписать существующие классы CSS на ScrollPane как:
MyScrollPane.css
.scroll-pane {
-fx-background-color: red, white;
-fx-background-insets: 0, 2;
-fx-padding: 2.0;
}
Чтобы проверить, какие классы существуют для панели прокрутки в JavaFX, вы можете прочитать caspian.css. Базовый класс для ScrollPane
- .scroll-pane
.
Также вы можете определить новые классы CSS, и добавить их к вашему ScrollPane
:
public class MyScrollPane extends ScrollPane {
public MyScrollPane(){
getStylesheets().add(getClass().getResource("MyScrollPane.css").toExternalForm());
getStyleClass().add("red-border");
}
}
И в CSS
.red-border {
-fx-background-color: red, white;
-fx-background-insets: 0, 2;
-fx-padding: 2.0;
}
Чтобы узнать о CSS стиль в JavaFX: http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm
Также вы может проверить Справочное руководство по CSS для JavaFX: https://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html
Спасибо! Это работает для меня – user5562650