如何在 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());
}
}
}
我有一个 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());
}
}
}