JavaFX Render етап под родителския

Според документацията на JavaFX дъщерният етап се определя от

 A stage will always be on top of its parent window. 

Проблемът е, че бих искал да ги изобразя като нормални прозорци според един друг (ако щракнете върху единия, той ще се изобрази над другия). Мога ли да направя това без хакерско решение?


person Arhowk    schedule 28.12.2014    source източник


Отговори (1)


Единствената друга функционалност, която получавате от превръщането на етап в дете на друг етап, е, че дъщерният етап се затваря автоматично, когато етапът родител е затворен. Можете да емулирате това със слушател:

Stage firstStage = ... ;

Stage secondStage = new Stage();

// secondStage.initOwner(firstStage);
firstStage.addEventHandler(WindowEvent.WINDOW_HIDDEN, evt -> secondStage.hide());

// ...

Ако разчитате да използвате getOwner() навсякъде, ще трябва да намерите начин да заобиколите това.

(Не съм сигурен дали това се квалифицира като „хакерско решение“, но трябва да работи...).

person James_D    schedule 28.12.2014