繁体   English   中英

如何在java中的另一个JPanel中获取JPanel的组件

[英]How to get components of a JPanel which inside another JPanel in java

我有一个JPanel(第一个JPanel),它填充另一个JPanel(第二个JPanel)。

我以编程方式将第二个JPanel添加到第一个JPanel。 如下,

firstJPanel.removeAll();
JPanel secondJPanel = new JPanel(gridLayout);
secondJPanel.setBorder(new TitledBorder("Testing"));
secondJPanel.setName("secondJPanel");
firstJPanel.add(secondJPanel);
firstJPanel.revalidate();

第二个JPanel有一些组件,如JTextFields,JCheckBoxes等。 我试着获得这些组件。 但我只能获得第二个JPanel。

这是我的代码示例,

Component[] components = firstJPanel.getComponents();
for(int i=0;i<components.length;i++){
     System.out.println("Componenet name - " + components[i].getName());           
}

有任何iedas来获取第二个JPanel内的组件。

最好的祝福。

你可以使用喜欢

Component[] components = firstJPanel.getComponents();
for (int i = 0; i < components.length; i++) {
    System.out.println("Componenet name - " + components[i].getName());
    if (components[i] instanceof JPanel
            && components[i].equals(secondJPanel)) {

        Component s[] = ((JPanel) components[i]).getComponents();
        for (int j = 0; j < s.length; j++) {
            System.out.println("Sub Componenet name - " + s[j].getName());
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM