2015-12-12 2 views
1

этот вопрос: Disposing JFrame by clicking from an inner JPanelЧто такое корневая панель в Swing? был задан вопрос

и люди при условии, что ответы я не совсем понимаю, поэтому вопрос, что делает это на самом деле:

((Window) getRootPane().getParent()).dispose(); 

может кто-нибудь объяснить мне это?

+1

Является ли это проблемой программирования? ИМО это проблема понимания. Я думаю, что есть документация для языка программирования. Прочтите подробные руководства. – jogo

+1

Лучший способ найти окно так JComponent находится с методом [getTopLevelAncestor] (https://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#getTopLevelAncestor--). Второй лучший способ - [SwingUtilities.getWindowAncestor] (https://docs.oracle.com/javase/8/docs/api/javax/swing/SwingUtilities.html#getWindowAncestor-java.awt.Component-). JRootPane не всегда является прямым дочерним элементом окна. – VGR

ответ

2

Он получает JPanel, в котором находится JButton.
Затем он получает родителя JPanel, который является JFrame.
Наконец, он располагает JFrame, используя dispose().

См Root Pane Container для получения дополнительной информации

+0

, что было полезно, получил его –

+0

@ M.Helmy Glad Я мог бы помочь – Dan

+0

@ M.Helmy Если вы считаете, что этот ответ правильный, можете ли вы принять его в качестве ответа, нажав на галочку под стрелками вверх и вниз рядом с ответом – Dan

Смежные вопросы