I tried to add border via CSS, based on this https://stackoverflow.com/questions/37808715/how-to-make-look-and-feel-of-richtextfx-similar-to-textarea and issue #394.
It works, but line numbers cover part of the border, which doesn't look very nice.

I tried to add padding for .virtualized-scroll-pane, .styled-text-area, .virtual-flow and .virtualized-scroll-pane .styled-text-area .paragraph-box but it didn't work.
With the last one there is also a strange issue, see #508
CSS:
/* Border for RichTextFX, similar to normal JavaFX text area: focused color, etc.
*/
.virtualized-scroll-pane {
-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;
}
.virtualized-scroll-pane:focused {
-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;
}
.virtualized-scroll-pane .styled-text-area {
-fx-background-insets: 0px;
}
.virtualized-scroll-pane .styled-text-area .paragraph-box:first-paragraph .paragraph-text {
-fx-padding: 5px 2px 0 2px;
}
.virtualized-scroll-pane .styled-text-area .paragraph-box:first-paragraph .lineno {
-fx-padding: 5px 5px 0 5px;
}
.virtualized-scroll-pane .scroll-bar:horizontal {
-fx-background-radius: 0 0 2 2;
-fx-padding: 0 0.08333325em 0.08333325em 0.08333325em;
-fx-border-insets: 0 0.08333325em 0.08333325em 0.08333325em;
-fx-background-insets: 0 0.08333325em 0.08333325em 0.08333325em;
}
.virtualized-scroll-pane .scroll-bar:vertical {
-fx-background-radius: 0 2 2 0;
-fx-padding: 0.08333325em 0.08333325em 0.08333325em 0;
-fx-border-insets: 0.08333325em 0.08333325em 0.08333325em 0;
-fx-background-insets: 0.08333325em 0.08333325em 0.08333325em 0;
}
import javafx.scene.Node;
import org.fxmisc.flowless.Virtualized;
import org.fxmisc.flowless.VirtualizedScrollPane;
public class VirtualizedScrollPaneExt<T extends Node & Virtualized> extends VirtualizedScrollPane<T> {
private PseudoClass FOCUSED = PseudoClass.getPseudoClass("focused");
public VirtualizedScrollPaneExt(T content) {
super(content);
content.focusedProperty().addListener((obs, oldVal, newVal) -> {
pseudoClassStateChanged(FOCUSED, newVal);
});
}
}
I tried to add border via CSS, based on this https://stackoverflow.com/questions/37808715/how-to-make-look-and-feel-of-richtextfx-similar-to-textarea and issue #394.
It works, but line numbers cover part of the border, which doesn't look very nice.
I tried to add padding for
.virtualized-scroll-pane,.styled-text-area,.virtual-flowand.virtualized-scroll-pane .styled-text-area .paragraph-boxbut it didn't work.With the last one there is also a strange issue, see #508
CSS: