To reproduce run following code
Unexpected: green line between red border and white content
import javafx.application.Application;
import javafx.builders.FlowPaneBuilder;
import javafx.builders.PaneBuilder;
import javafx.builders.SplitPaneBuilder;
import javafx.builders.StackPaneBuilder;
import javafx.builders.TilePaneBuilder;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.SplitPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class SplitPaneTest extends Application {
public static void main(String[] args) {
launch(args);
}
private Parent getContent() {
VBox list = new VBox();
list.setManaged(false);
SplitPane pane = SplitPaneBuilder.create().items(
StackPaneBuilder.create().style("-fx-background-color:white;").children(new Rectangle(40, 40, Color.WHITESMOKE)).build(),
StackPaneBuilder.create().style("-fx-background-color:white;").children(new Rectangle(40, 40, Color.BLUE)).build(),
StackPaneBuilder.create().style("-fx-background-color:white;").children(new Rectangle(40, 40, Color.RED)).build())
.prefWidth(150)
.prefHeight(150)
.build();
pane.setFocusTraversable(false);
pane.setStyle("-fx-border-color:red; -fx-background-color:green;");
pane.setMaxSize(150,150);
list.getChildren().addAll(pane);
return list;
}
public void start(Stage stage) {
stage.setX(100);
stage.setY(100);
Scene scene = new Scene(getContent(),800,300);
stage.setScene(scene);
stage.setVisible(true);
}
}