想用java 做一个计算器,在第一个frame中单击按钮,弹出一个新的frame,然后显示计算器。 但是效果不对。

如果使用for(i=0;i<str.length;i++){buttons[i].addActionListener(this);}单击按钮是不断的弹出界面。如果使用:f... 如果使用
for (i = 0; i < str.length;i++)
{
buttons[i].addActionListener(this);
}
单击按钮是不断的弹出界面。
如果使用:
for (i = 0; i < str.length;i++)
{

buttons[i].addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println (buttons[i].getText());
}
});
}

提示需要将i 常量化,

新手求教,y9inggai怎么办
展开
 我来答
puziguo
2017-11-27 · TA获得超过1928个赞
知道小有建树答主
回答量:884
采纳率:86%
帮助的人:809万
展开全部

那就只说第二种怎么改吧

for (i = 0; i < str.length;i++)
{
 final int tempi = i; //这里加
buttons[i].addActionListener(new ActionListener() {
 
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println (buttons[tempi].getText());//这里改
}
});
}
百里不是白里
2017-10-31 · TA获得超过507个赞
知道小有建树答主
回答量:608
采纳率:0%
帮助的人:156万
展开全部
定一个全局变量 int a=0
如果点击过按钮,就给a赋值 a=1
在点击事件中写判断,if(a==0){ 弹框 }else{ }
不是知道我有没有误会你的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-02-19
展开全部
楼主,你说要弹出Frame,可代码中却没有和弹出Frame相关的语句
追问
语句在前面写过了,没附上
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式