Разделитель состоит из двух элементов.
Корневой узел с классом css разделитель и дочерний элемент Region с cssclass line
Если вы хотите удалить линию в середине черного ящика, вам нужно изменить дочерний регион ( line ) и установить его границу вставки и ширина до 0px
например:
Separator separator = new Separator();
separator.setStyle(""
+ "-fx-border-width: 1px;"
+ "-fx-border-color: black;"
+ "-fx-padding: 0px;"
+ "");
stage.show()
А чем после stage.show () вы будетеиметь доступ к своему ребенку через lookup или getChildrenUnmodifiable ()
Node line = separator.lookup(".line");
line.setStyle(""
+ "-fx-border-insets: 0px;"
+ "-fx-border-width: 0px;"
+ "");
или
separator.getChildrenUnmodifiable().get(0).setStyle(""
+ "-fx-border-insets: 0px;"
+ "-fx-border-width: 0px;"
+ "");
и третий вариант С метриками
FontMetrics metrics = Toolkit.getToolkit().getFontLoader().getFontMetrics(label.getFont());
label.setPadding(new Insets(-metrics.getDescent(), 0, 0, 0));
и четвертой опцией С границами , которая не применима для всех узлов и не работает в этом случае.
Text text = new Text();
text.setBoundsType(TextBoundsType.VISUAL);
И в качестве последнего варианта вы можете добавить CSS файл, который изменяет стиль .line class
App.css:
.line {
-fx-border-width: 0px;
-fx-border-insets: 0px;
}
.separator {
-fx-padding: 0px;
-fx-border-insets: 0px;
-fx-border-width: 1px;
-fx-border-color: black;
}
И чем ты?Нужно применить этот CSS к вашей сцене.
scene.getStylesheets().add("App.css");
Если вы не знаете об этом уже, возможно, вам следует проверить Scenic View , который является хорошим инструментом, если вы хотите проверить приложения JavaFx.