日期:2014-05-20  浏览次数:20729 次

用循环创建一组Button,
用循环创建一组Button,

例如:
Button but1 = new Button(a)
Button but2 = new Button(b)
Button but3 = new Button(c)
Button but4 = new Button(d)
.
.
.
Button butn = new Button(m)

2.
pubic void init()
{ add();
  but1.ActionLinstener(this); //将上面new 的Button加载并注册,不要一个一的列出来,希望用一个简单的方法搞出来
}

------解决方案--------------------
Button[] but=new Button[m];
for(int i=0;i<=m;i++){
but[i]=new Button();
but[i].ActionListner(this);
}
------解决方案--------------------
这样就可以了:

allButtons=new JButton[16];
for(int i=0;i<allButtons.length;i++)
{
allButtons[i]=new JButton(str.substring(i,i+1));
}
------解决方案--------------------
Button[] but=new Button[m];
for(int i=0;i<=m;i++){
but[i]=new Button();
but[i].ActionListner(this);
}
这种写法是正确的.
------解决方案--------------------
Java code

import javax.swing.*;
import java.awt.*;

public class BtFrame extends JFrame{
    JPanel jp=(JPanel)this.getContentPane();
    JButton[] jb;
    public BtFrame()
    {
       jp.setLayout(null);//默认是BorderLayout布局
       int len=10;
       jb=new JButton[len];//定义数组
       for(int i=0;i<len;i++)
       {
           jb[i]=new JButton("jb"+(i+1));//实例化
           jb[i].setBounds(new Rectangle(20,20+30*i,60,25));//设置位置
           jp.add(jb[i]);
       }
    }
    public static void main(String[] args) { 
       BtFrame frame=new BtFrame();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(600,600);
       frame.setVisible(true);
    }
}