JAVA用循环给42个按钮添加事件响应函数,并输出选中按钮文本.

importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMytestextendsJ... import java.awt.*;
import java.awt.event.* ;

import javax.swing.*;

public class Mytest extends JFrame{
Mytest(){
this.setTitle("颗颗糖日历记事本");
setBounds(320,200,600,400);//设置坐标与大小
this.setVisible(true); //设置窗口为可见状态
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭按钮的时间
setLayout(new FlowLayout());

final JButton rlButton[]=new JButton[42];
for(int t=0;t<42;t++){
this.add(rlButton[t] = new JButton(String.valueOf(t)));
if(t%7==0){
rlButton[t].setForeground(Color.RED);
}
else if((t+1)%7==0){
rlButton[t].setForeground(Color.BLUE);
}
}

for(int t=0;t<42;t++){
rlButton[t].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println(rlButton[t].getText().toString());
}
});
}//42个按钮事件响应,按下输出按钮文本
}

public static void main(String args[]) {
new Mytest();
}
}
我给的代码有错误,望高手指点~
展开
 我来答
mq612
2011-06-20 · TA获得超过281个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:168万
展开全部
Action事件中打印按钮上的数字那行改成:
System.out.println(((JButton)e.getSource()).getText());

另外,显示窗口移动到构造函数的最末行,否则窗体现实的时候你的布局管理器还没有修改,显示按钮就会有些小问题:
this.setVisible(true); //设置窗口为可见状态
匿名用户
2011-06-20
展开全部
Action事件中打印按钮上的数字那行改成:
System.out.println(((JButton)e.getSource()).getText());

另外,显示窗口移动到构造函数的最末行,否则窗体现实的时候你的布局管理器还没有修改,显示按钮就会有些小问题:
this.setVisible(true); //设置窗口为可见状态 00
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式