RichTextFx (top control) doesn't looks like TextArea (bottom control) by default:
I have found a way how to add round corners (just copy and configure some styles from modena.css):
.virtualized-scroll-pane {
-fx-padding: 0;
-fx-cursor: default;
-fx-background-color: linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border),
derive(-fx-base,-1%);
}
.virtualized-scroll-pane {
-fx-background-color: null;
}
.virtualized-scroll-pane > .scroll-bar:horizontal {
-fx-background-radius: 0 0 2 2;
}
.virtualized-scroll-pane > .scroll-bar:vertical {
-fx-background-radius: 0 2 2 0;
}
.virtualized-scroll-pane > .corner {
-fx-background-radius: 0 0 2 0;
}
.virtualized-scroll-pane .code-area {
/*the is 1px less top and bottom than TextInput because of scrollpane border */
-fx-padding: 0.25em 0.583em 0.25em 0.583em; /* 3 7 3 7 */
-fx-cursor: text;
-fx-background-color:
linear-gradient(from 0px 0px to 0px 4px, derive(-fx-control-inner-background, -8%), -fx-control-inner-background);
-fx-background-radius: 2;
}
.virtualized-scroll-pane:focused .code-area {
-fx-background-color:
-fx-control-inner-background,
-fx-faint-focus-color,
linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background);
-fx-background-insets: 0, 0, 2;
-fx-background-radius: 2, 1, 0;
}
but don't understand how to add gray border around unfocused control and blue border around focused control (i.e. around text control and scrollbars)?
Seems like blue border of focused control configured here but the following CSS doesn't work:
.virtualized-scroll-pane {
-fx-text-fill: -fx-text-inner-color;
-fx-highlight-fill: derive(-fx-control-inner-background,-20%);
-fx-highlight-text-fill: -fx-text-inner-color;
-fx-prompt-text-fill: derive(-fx-control-inner-background,-30%);
-fx-background-color: linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border),
linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background);
-fx-background-insets: 0, 1;
-fx-background-radius: 3, 2;
-fx-cursor: text;
-fx-padding: 0.333333em 0.583em 0.333333em 0.583em; /* 4 7 4 7 */
}
.virtualized-scroll-pane:focused {
-fx-highlight-fill: -fx-accent;
-fx-highlight-text-fill: white;
-fx-background-color:
-fx-focus-color,
-fx-control-inner-background,
-fx-faint-focus-color,
linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background);
-fx-background-insets: -0.2, 1, -1.4, 3;
-fx-background-radius: 3, 2, 4, 0;
-fx-prompt-text-fill: transparent;
}
As I understand this is doesn't work because .virtualized-scroll-pane
doesn't take focus.
Here is Maven project for reproduce problem.
So, how to fix it?
FYI: RichTextFX 0.7-M1, JDK 1.8.0_91-b14