JavaFX, Windows, как закруглить края слоя?
Добрый день, я пытаюсь закруглить края слоя, однако появляется белый фон. Поскажите, пожалуйста, как это исправить. Закрыглить пыталась с помощью css: -fx-border-radius и -fx-background-radius
Ответы (2 шт):
Создайте Rectangle необходимого размера, задайте ему такое же закругление края при помощи setArcHeight() и .setArcWidth() как у вашего слоя и установите для слоя ограничения отображения при помощи .setClip(). Все что будет оказываться за пределами Rectangle визуально отображаться не будет.
Замечу что значения ArcHeight и ArcWidth могут быть не похожи на значения -fx-border-radius и -fx-background-radius для достижения необходимого результата. Возможно придется подобрать другие.
Небольшой пример:
Rectangle rect = new Rectangle(300,120);
rect.setArcHeight(40.0);
rect.setArcWidth(40.0);
yourLayout.setClip(rect);
UPD: То что я описал выше действительно нужно применять для внутренних элементов сцены. Для Scene же есть: scene.setFill(Color.TRANSPARENT)
и для Stage:stage.initStyle(StageStyle.TRANSPARENT)
Которые скорее всего нужно будет применить оба.
