java jbutton监听点一次执行下面所有的函数?

代码贴不下,我大概说一下flag初始为0,构造函数执行step1()按钮监听里面有flag==0的情况flag==1的情况flag==2的情况flag==0里面执行ste... 代码贴不下,我大概说一下flag初始为0,构造函数执行step1()
按钮监听里面有flag == 0的情况flag == 1的情况 flag == 2的情况
flag==0里面执行step2(),flag == 1里面执行step3()
step2()和step3()里面各有flag++
现在的问题是点一次按钮后应该只执行到step2(),然后flag应该为1,再点一次按钮才执行step3(),但是我点一次过后直接执行到step3()完
public class MyJPanel extends JPanel {
int flag = 0
JButton button = new JButton("OK");
public void step1(){
button.addActionListener(new ButtonAction());
}
public void step2() {
flag++
}
public void step3() {
flag++
}
public class ButtonAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(flag == 0) {
step2();
}
if(flag == 1) {
step3();
}
}
}
}
贴一个缩减的代码
展开
 我来答
百度网友2ffcc44
2015-02-06 · TA获得超过183个赞
知道小有建树答主
回答量:182
采纳率:100%
帮助的人:139万
展开全部
因为你flag == 0时候执行step2(),在step2()里面有flag++,然后进入flag == 1的判断,依然是成立的所以是判断的问题
追问
这个监听是点击一次就不会跳出actionPerformed这个函数了?等于说要另外新建一个类继承ActionListener来实现不同的按钮监听?不能用同一个类来监听所有情况
追答
这是在一次执行,会跳出函数。可以用一个来监听,只要注意判断执行方法的条件即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式