jframe的getParent,它是JPanel的属性



我有一个包含jframe的jpanel,当我按下该jframe上的按钮时,我想访问jpanel

我使用getParent()方法,但不起作用

public class StorePanel extends javax.swing.JPanel {
private TableProducts tableproducts;
......
}

获取父的jframe代码

private void confirmActionPerformed(java.awt.event.ActionEvent evt) {                                        
        StorePanel store=(StorePanel)this.getParent();
        store.getitemTable();
    .........
}

感谢

JComponent.getTopLevelAncestor()假定与其他回复者的条件相同。

我假设您的帖子有错误,JFrame包含JPanel。如果是这样,并且JPanel和JFrame之间不存在其他容器,那么获取父容器可能会获取JFrame的contentPane。如果您想获得JFrame,那么在JPanel上尝试SwingUtilities#getWindowAncestor方法。

否则,如果您试图获得由JFrame持有的JPanel,那么您可以递归地遍历它的组件(通过getComponents方法),但最简单的方法是在创建或添加一个或另一个时将JPanel的引用传递给JFrame。

最新更新