Я хочу создать View (сцена, окно) с частично прозрачным фоном. У меня есть изображение с альфа-каналом
Я использовал такие сцены в JavaFx, где мне пришлось установить для заливки сцены значение null, а цвет фона корневого узла - прозрачный. Я попробовал то же самое с TornadoFX:
class NextRoundView : View("Következő kör") {
override val root = vbox {
style {
backgroundColor = multi(Color.TRANSPARENT)
backgroundImage = multi(URI.create("/common/rope-bg-500x300.png"))
backgroundRepeat = multi(BackgroundRepeat.NO_REPEAT
to BackgroundRepeat.NO_REPEAT)
}
prefWidth = 500.0
prefHeight = 300.0
spacing = 20.0
padding = insets(50, 20)
text("A text") {
font = Font.font(40.0)
alignment = Pos.CENTER
}
button("OK")
{
font = Font.font(20.0)
action {
close()
}
}
sceneProperty().addListener{ _,_,n ->
n.fill = null
}
}
}
Я называю это представлением так:
NextRoundView().apply {
openModal(stageStyle = StageStyle.TRANSPARENT, block = true)
}
Однако у сцены еще есть предыстория:
Что я пропустил?