首页 新闻 搜索 专区 学院

java swing问题,如何用一个变量获取panel1和panel2上的所有组件

0
[待解决问题]

大神求助
panel1和panel2在一个panel上,panel1和panel2中都有button。如何用一个变量获取panel1和panel2上的所有组件。而不是靠如下代码:
Component[] items1 = panel1.getComponents(); //返回容器中所有控件
Component[] items2 = panel2.getComponents();

夕西行的主页 夕西行 | 菜鸟二级 | 园豆:202
提问于:2018-08-13 13:06
< >
分享
所有回答(1)
0

那就吧panel1 和 2 的button 定义到全局中

队长给我球。 | 园豆:324 (菜鸟二级) | 2018-08-13 16:18

panel绝对布局,panel1、panel2在它里面

panel1流布局,布局很多button

panel2流布局,布局很多button

要是把所有button,通过绝对布局,到panel上,那太麻烦了。

panel.getComponents()只能识别到panel1和panel2,他们里面的button,识别不到。

纯java做界面,真费劲。

支持(0) 反对(0) 夕西行 | 园豆:202 (菜鸟二级) | 2018-08-13 17:33

【搞定了,共享下】

通过System.arraycopy合并三个panel中的所有控件,到一个变量items中。

首先创建一个空的items,长度为所有控件的数量,然后,依次放入控件。

Component[] items1 = p21.getComponents(); //返回容器中所有控件
Component[] items2 = p22.getComponents();
Component[] items3=p23.getComponents();
Component[] items=new Component[items1.length+items2.length+items3.length];
System.arraycopy(items1,0,items,0,items1.length);
System.arraycopy(items2,0,items,items1.length,items2.length);
System.arraycopy(items3,0,items,items1.length+items2.length,items3.length);

支持(0) 反对(0) 夕西行 | 园豆:202 (菜鸟二级) | 2018-08-13 18:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册