监听设置成单例的可以吗

解决方案 »

  1.   

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

  2.   

     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());
        }
    已经添加了,多次调用方法后还是出现多个结果。
      

  3.   

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

  4.   

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