请问一个循环中 创建了9个名字同为button的JButton实例,这9个button能正常使用吗,如何区分,代码如下图所示
在这个FOR循环中创建的这9个名字同为button的 JButton 实例不互相冲突吗,这个FOR 循环执行完毕后,想把 第3个button 的标题名改为【提交】,怎么操作?
没办法呢,出了for的作用域就访问不到了。只能在循环里面用if判断到第三个,设置为提交
// 获取 jp 里面的所有
final Component[] components = jp.getComponents();
for (Component component : components) {
if (component instanceof JButton) {
// 循环查找组件
final JButton button = (JButton) component;
// 找到 text 为 3 的按钮, 之后将标题 改成 "提交"
if ("3".equals(button.getText())) {
button.setText("提交");
}
}
}
9个按键不冲突的 都加到数组里了
楼上都说得对,目前的代码确实是这样;
但,也有需要补充的;
也就是说,button除了这种小范围(代码范围)之内可以重名;
在外面正式使用的时候,那么就不要重名了,这样会混乱,也会影响使用;
书上的这个代码原意,我猜是为了让你学习List的使用;
就是说先循环初始化,然后再根据具体的需求进行获取button,修改button,并重新设置回list;
通过这种方式让你熟悉list;
给按钮重新赋值一个新的变量即可
应该只能在循环中改了,可以添加TAG,达到区分的效果