Java / Swing:从JPanel内部获取Window / JFrame
我如何获得JPanel所在的JFrame?
我当前的解决方案是询问面板的父面板(依此类推),直到找到Window:
Container parent = this; // this is a JPaneldo {
parent = parent.getParent();
} while (!(parent instanceof Window) && parent != null);
if (parent != null) {
// found a parent Window
}
标准库中有没有一种更优雅的方法?
回答:
您可以使用SwingUtilities.getWindowAncestor(...)
将返回可转换为顶级类型的Window的方法。
JFrame topFrame = (JFrame) SwingUtilities.getWindowAncestor(this);
以上是 Java / Swing:从JPanel内部获取Window / JFrame 的全部内容, 来源链接: utcz.com/qa/400657.html