如何用Java遍历panel里的控件,程序如下:

//首先用循环生成二维的button数组for(introw=0;row<5;row++){for(intcol=0;col<5;col++){button=newJBu... //首先用循环生成二维的button数组
for ( int row = 0 ; row < 5 ; row ++ ){
for ( int col = 0 ; col < 5 ; col ++){
button = new JButton();
button.setName(row + "" + col);
button.setIcon(new ImageIcon(stochasticOrder[row][col]));
centerPanel.add(button);
}
}
程序在运行的过程中,button上的图片会发生改变
请问我怎样才按顺序的得到button上图片的名称的数组呢?
其实我做的就是一个拼图游戏,button的位置是不改变的,
每次移动后,button上的图片会改变。我需要在每次移动后获取
button上图片的名称的数组,用于比较是否完成拼图;
如果是C#的话有类似以下的方法:
foreach(Control c in panel.Controls)
{
if(c is TextBox)
{
string text=(c as TextBox).Text;
list.Add(text);
}
}
请问Java有类似的方法吗?
希望给出代码
展开
 我来答
百度网友845f74e61
推荐于2018-04-04 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1627万
展开全部
JPanel panel = new JPanel();
int count = panel.getComponentCount();
for (int i = 0; i < count; i++) {
Object obj = panel.getComponent(i);
if (obj instanceof JButton) {
JButton button = (JButton) obj;
}
}
这样可以得到面板上的所有组件。
与你给出的C#代码接近。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
intotherainzy
2012-01-18 · TA获得超过341个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:95.3万
展开全部
二楼的方法就是正确的。
另外还有一个思路:不移动图片,而是移动button的位置,使用GridPanel,每次点击后调换点击块和empty块的位置就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leafairsky
2012-01-18 · 超过10用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:26.7万
展开全部
还有一个思路,就是将button的引用放到一个数组(或者二维数组)里,维护起来比较方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式