2013-11-21 4 views
1

Я установил цвет фона в scrollpane, используя метод setStyle(). ниже код работает нормально до версии jdk-8-ea-bin-b109 "java после этих java-версий, эти комманды работают неправильно, но при использовании мыши над цветом применяется.установить цвет фона в scrollpane

Мой код:

scrlPane.setStyle ("- FX-фон-цвет: # 434547;");

+0

Звуки как регрессия, вы можете зарегистрировать [ошибку против JavaFX] (https://javafx-jira.kenai.com), если хотите. – jewelsea

+0

Нужно искать соответствующие свойства, такие как backgroundProperty, borderProperty, cursorProperty и т. Д. –

ответ

0

попробовать это его изменение прокрутки панели цвет

.scroll-bar:horizontal .thumb { 
-fx-background-color: 
    red, 
    linear-gradient(to bottom, derive(red,95%), derive(red,10%)), 
    linear-gradient(to bottom, derive(red,38%), derive(red,-16%)); 
-fx-background-insets: 0, 1, 2; 
-fx-background-radius: 0.5em; /* makes sure this remains circular */ 
} 
.scroll-bar:vertical .thumb { 
-fx-background-color: 
    red, 
    linear-gradient(to right, derive(red,95%), derive(red,10%)), 
    linear-gradient(to right, derive(red,38%), derive(red,-16%)); 
-fx-background-insets: 0, 1, 2; 
-fx-background-radius: 0.5em; /* makes sure this remains circular */ 
} 

это показывает, как ниже

Scroll Pane with different color

здесь глобальный CSS для панели прокрутки для дальнейших изменений;

.scroll-bar:horizontal { 
-fx-background-color: 
    red, 
    linear-gradient(to bottom, derive(red,30%) 5%, derive(red,-17%) 100%); 
-fx-background-insets: 0, 1; 
} 
.scroll-bar:horizontal:focused { 
-fx-background-color: 
    -fx-focus-color, 
    -fx-box-border, 
    linear-gradient(to bottom, derive(red,30%) 5%, derive(red,-17%) 100%); 
-fx-background-insets: -1.4, 0, 1; 
} 
.scroll-bar:vertical { 
-fx-background-color: 
    red, 
    linear-gradient(to top, derive(red,30%) 5%, derive(red,-17%) 100%); 
-fx-background-insets: 0, 1; 
} 
.scroll-bar:vertical:focused { 
-fx-background-color: 
    red, 
    red, 
    linear-gradient(to top, derive(red,30%) 5%, derive(red,-17%) 100%); 
-fx-background-insets: -1.4, 0, 1; 
} 
.scroll-bar:horizontal .thumb { 
-fx-background-color: 
    red, 
    linear-gradient(to bottom, derive(red,95%), derive(red,10%)), 
    linear-gradient(to bottom, derive(red,38%), derive(red,-16%)); 
-fx-background-insets: 0, 1, 2; 
-fx-background-radius: 0.5em; /* makes sure this remains circular */ 
} 
.scroll-bar:vertical .thumb { 
-fx-background-color: 
    red, 
    linear-gradient(to right, derive(red,95%), derive(red,10%)), 
    linear-gradient(to right, derive(red,38%), derive(red,-16%)); 
-fx-background-insets: 0, 1, 2; 
-fx-background-radius: 0.5em; /* makes sure this remains circular */ 
} 
.scroll-bar:focused .thumb { 
-fx-color: -fx-focused-base; 
} 
.scroll-bar .thumb:hover { 
-fx-color: -fx-hover-base; 
} 
/* Uncomment when RT-10521 is fixed. 
.scroll-bar .thumb:pressed { 
-fx-color: -fx-pressed-base; 
} 
*/ 
.scroll-bar:horizontal .track { 
-fx-background-color: 
    -fx-box-border, 
    linear-gradient(to bottom, derive(-fx-color,-15%), derive(-fx-color,2.2%) 20%, derive(-fx-color,60%)); 
-fx-background-insets: 0, 1; 
-fx-background-radius: 0.5em; /* makes sure this remains circular */ 
} 
.scroll-bar:horizontal .track-background { 
-fx-background-color: 
    -fx-box-border, 
    linear-gradient(to bottom, derive(-fx-color,-15%), derive(-fx-color,2.2%) 20%, derive(-fx-color,60%)); 
-fx-background-insets: 0, 1; 
} 
.scroll-bar:vertical .track { 
-fx-background-color: 
    -fx-box-border, 
    linear-gradient(to right, derive(-fx-color,-15%), derive(-fx-color,2.2%) 20%, derive(-fx-color,60%)); 
-fx-background-insets: 0, 1; 
-fx-background-radius: 0.5em; /* makes sure this remains circular */ 
} 
.scroll-bar:vertical .track-background { 
-fx-background-color: 
    -fx-box-border, 
    linear-gradient(to right, derive(-fx-color,-15%), derive(-fx-color,2.2%) 20%, derive(-fx-color,60%)); 
-fx-background-insets: 0, 1; 
} 
.scroll-bar .increment-button { 
-fx-background-color: 
    -fx-box-border, 
    linear-gradient(to bottom, derive(-fx-color,30%) 5%, derive(-fx-color,-17%)); 
-fx-background-insets: 0, 1; 
-fx-padding: 0.25em; /* 3 */ 
} 
.scroll-bar .decrement-button { 
-fx-background-color: 
    -fx-box-border, 
    linear-gradient(to bottom, derive(-fx-color,30%) 5%, derive(-fx-color,-17%)); 
-fx-background-insets: 0, 1; 
-fx-padding: 0.25em; /* 3 */ 
} 
.scroll-bar:horizontal .increment-arrow { 
-fx-background-color: -fx-mark-highlight-color, -fx-mark-color; 
-fx-background-insets: 1 0 -1 0, 0; 
-fx-padding: 0.5em 0.333333em 0.0em 0.0em; /* 6 4 0 0 */ 
-fx-shape: "M 4 0 L 0 -3 L 0 3 z"; 
} 
.scroll-bar:vertical .increment-arrow { 
-fx-background-color: -fx-mark-highlight-color, -fx-mark-color; 
-fx-background-insets: 1 0 -1 0, 0; 
-fx-padding: 0.333333em 0.5em 0.0em 0.0em; /* 4 6 0 0 */ 
-fx-shape: "M -3 0 L 0 4 L 3 0 z"; 
} 
.scroll-bar:horizontal .decrement-arrow { 
-fx-background-color: -fx-mark-highlight-color, -fx-mark-color; 
-fx-background-insets: 1 0 -1 0, 0; 
-fx-padding: 0.5em 0.333333em 0.0em 0.0em; /* 6 4 0 0 */ 
-fx-shape: "M 0 0 L 4 -3 L 4 3 z"; 
} 
.scroll-bar:vertical .decrement-arrow { 
-fx-background-color: -fx-mark-highlight-color, -fx-mark-color; 
-fx-background-insets: 1 0 -1 0, 0; 
-fx-padding: 0.333333em 0.5em 0.0em 0.0em; /* 4 6 0 0 */ 
-fx-shape: "M -3 0 L 0 -4 L 3 0 z"; 
} 
.scroll-bar:disabled { 
-fx-opacity: -fx-disabled-opacity; 
} 
+1

Это чертовски странно, с чем нам приходится мириться. Вместо тривиального назначения цвета RGB Oracle решила, что нам нужно пройти через страницы CSS. – ajeh

1

С вопросом я создал в отношении ScrollPane цвета фона в JavaFX 8: ScrollPanes in JavaFX 8 always have gray background

Вам может понадобиться использовать этот CSS, так что ScrollPane моделирование может реально работать:

.scroll-pane > .viewport { 
    -fx-background-color: transparent; 
}