Я работаю с классом fragment
в TornadoFX и открываю каждый новый fragment
в новом окне, используя метод openWindow()
.
Окно открывается и все работает хорошо. Я установил модальность на Modality.NONE
, чтобы можно было получить доступ к исходному экрану, пока новый фрагмент активен.
Проблема в том, что у меня новое окно всегда сверху, поэтому мне нужно переместить его, чтобы получить доступ к исходному окну внизу, которое не идеально.
Это по замыслу / есть ли способ изменить это поведение?
Я поиграл с параметром openWindow()
s owner =
, установив для него значение null и еще один Stage
, но, похоже, ничего не работает.
Сначала код, открывающий окно, view
- это фрагмент.
//h here is just the histogram, an int[]
val hisScope = HistogramScope(h, pointerVM.APUFile.file.name)
//view declared using the find method.
val view = find<Histogram>(hisScope)
view.whenUndocked {
closeChart(pointerVM)
}
//code checks to see if the requested histogram is already open
val matchingRnameHistograms = isMatchingRnameOpen(pointerVM)
if (map.size == 0 || matchingRnameHistograms.isEmpty()) {
view.openWindow(stageStyle = StageStyle.UTILITY, modality = Modality.NONE, resizable = false, owner = null, block = false)
map.put(pointerVM, view) //record which histograms are open
} else { //.. not too relevant }
Далее я объявил фрагмент с областью действия:
class Histogram : Fragment() {
override val scope = super.scope as HistogramScope
override val root = hbox{
hgrow = Priority.ALWAYS
vgrow = Priority.ALWAYS
style{
minWidth = 1280.px
minHeight = 250.px
}
}
Заранее спасибо!