微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

java按钮监听问题

时间:2014-04-16 00:58  浏览:努力统计中...
我在一个方法里面添加了对按钮的监听,但是每当我调用这个方法,监听次数就会增加一次,导致最后当我按一次按钮就会输出多个结果,怎样才能解决这个问题,监听次数能不能清空
我在一个方法里面添加了对按钮的监听,但是每当我调用这个方法,监听次数就会增加一次,导致最后当我按一次按钮就会输出多个结果,怎样才能解决这个问题,监听次数能不能清空?

监听设置成单例的可以吗


能够详细一点吗?

自己帮顶!!!

有添加监听事件,那么必然有对应的移除监听事件。在你的方法中,先移除监听事件,然后再绑定监听事件。


 public void addJButton(int gridx,int gridy,int gridwidth,int gridheight,int font,Color color,JButton button,JPanel panel)
    {
        gbc.gridx=gridx;
    gbc.gridy=gridy;
    gbc.gridwidth=gridwidth;
    gbc.gridheight=gridheight;
    gbc.insets=new Insets(3,3,3,3);
    gbc.fill=GridBagConstraints.BOTH;
    button.setForeground(color);
    gridbag.setConstraints(button,gbc);
    panel.add(button);
    button.setFont(new Font("微软雅黑",Font.PLAIN,font));
    button.removeActionListener(new ButtonToTextAction());
    button.addActionListener(new ButtonToTextAction());
    }

已经添加了,多次调用方法后还是出现多个结果。


在方法里面动态地添加对按钮的监听是个比较奇怪的设计,不知道为什么要这么做。
一般来讲,一个组件要监听什么事件,不会在运行时通过执行什么方法来实现,而是在设计时就设计好的。


在方法里面动态地添加对按钮的监听是个比较奇怪的设计,不知道为什么要这么做。
一般来讲,一个组件要监听什么事件,不会在运行时通过执行什么方法来实现,而是在设计时就设计好的。确实啊,我把监听拖到方法外面了,现在问题解决了。
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线------