我有这个代码来获取所有需要的元素并进行一些处理。问题是我需要指定每个面板,我必须得到其中的元素。
for (Component c : panCrawling.getComponents()) {
//processing
}
for (Component c : panFile.getComponents()) {
//processing
}
for (Component c : panThread.getComponents()) {
//processing
}
for (Component c : panLog.getComponents()) {
//processing
}
//continue to all panels
我想这样做,得到所有的元素,而不需要指定所有面板的名称。我是怎么做到的。下面的代码没有得到所有的元素。
for (Component c : this.getComponents()) {
//processing
}
4条答案
按热度按时间6ojccjat1#
看看jframe的文档。所有你放在
JFrame
实际上放在框架中包含的根窗格中。a2mppw5e2#
如果要查找给定类型的所有组件,那么可以使用此递归方法!
它可以这样使用:
kxxlusnw3#
您可以编写递归方法并在每个容器上递归:
本网站提供了一些示例代码:
如果只需要立即子组件的组件,可以将递归深度限制为2。
wb1gzix04#
在我的代码中,我只是得到jtextfield的所有示例。你可以用同样的逻辑。这只是一个从您所使用的组件中获取所有子组件的示例。希望它能帮助你。