删除鼠标侦听器(Java) - 消耗不起作用

时间:2017-07-17 18:22:55

标签: java mouselistener

已解决!或者至少是一种解决方法。猜猜我必须在第五页之后爬到google搜索的黑暗角落。 ans1.removeMouseListener(ans1.getMouseListeners()[2]); < - 从Mouse侦听器数组中删除。 [0]是JButton的基本监听器。 [1]保持效果。 [2]导致问题。

我决定在java中做一个简短的CYOA。答案是在jbuttons。基本相同的按钮,不同的文本。我在游戏中添加了一个技能检查,类作为布尔值返回成功。问题是,consume()没有删除注册到鼠标点击的动作 - 它正在越来越多的技能检查和滚动实例。"相关部分:

public class b03 implements MouseListener {

    @Override
    public void mouseClicked(MouseEvent arg0) {
        characters.SkillcheckParty skillcheck = new characters.SkillcheckParty();
        boolean success = skillcheck.scpPerception(12, -5, 40); 
        arg0.consume();
        Battleground.conv.ans1.addMouseListener(new b04());
    }
}

已解决!或者至少是一种解决方法。猜猜我必须在第五页之后爬到google搜索的黑暗角落。 ans1.removeMouseListener(ans1.getMouseListeners()[2]); < - 从Mouse侦听器数组中删除。 [0]是JButton的基本监听器。 [1]保持效果。 [2]导致问题。

1 个答案:

答案 0 :(得分:0)

至少得到一个解决方法。猜猜我必须在第五页之后爬到google搜索的黑暗角落。

ans1.removeMouseListener(ans1.getMouseListeners()[2]);

< - 从Mouse侦听器数组中删除。 [0]是JButton的基本监听器。 [1]保持效果。 [2]导致问题。删除所有侦听器:

for (int i = 1; i <= ans1.getMouseListeners().length-1; i++) {
        ans1.removeMouseListener(ans1.getMouseListeners()[i]);
    }

我愿意接受任何评论。