簡體   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