有没有办法获得组件的顶级容器?例如,我有一个JToolbar,我想知道该JToolbar的顶层容器是我的JFrame,或者是它自己的窗口,JDialog。
答案 0 :(得分:13)
SwingUtilities.windowForComponent(...);
答案 1 :(得分:6)
如果组件已添加到层次结构中,则可以通过递归调用getParent
来查找顶级容器:
Container c = toolbar;
while ( c.getParent() != null )
{
c = c.getParent();
}
if ( c instanceof JFrame )
{
//...
}