满意答案
VIP小洛pb
2013.07.16
采纳率:44% 等级:12
已帮助:8803人
for(int i=0;i<100;i++)
b=new Button(""+i);
在你的for循环开始前,先创建一个点击事件的监听, 然后,让每个button创建出来时,注册这个监听事件就行了。测试通过的代码:import java.awt.Button;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class Main {
public static void main(String[] args) {
final Frame frame = new Frame();
frame.setSize(800, 600);
frame.setLayout(null);
Button btn = null;//监听
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e) {
Button sourceBtn = (Button)e.getSource();//获取事件源对象(点击的btn)
System.out.println(sourceBtn.getLabel() + "被刪除");
frame.remove(sourceBtn);//将btn从frame中移除
sourceBtn = null;
}
};
for(int i = 0; i < 10; i++) {
btn = new Button("btn" + i);//创建btn,加入监听
btn.addActionListener(al);
frame.add(btn);
btn.setBounds(50, 50 + i * 50, 50, 50);
}
frame.setVisible(true);
}
}监听对象最好在for外面创建,否则可能会创建N个监听对象。没必要。
00分享举报