已解决!或至少是一种解决方法。猜猜我必须爬到谷歌搜索的黑暗角落,在第五页之后。 ans1.removeMouseListener(ans1.getMouseListeners()[2]); < - 从鼠标侦听器数组中移除。 [0]是JButton的基本监听者。 [1]保持效果。 [2]导致问题。删除鼠标监听器(Java) - 消耗不起作用
我决定在java中做一个简短的CYOA。答案是用jbuttons。基本上相同的按钮,不同的文本。我在游戏中添加了一项技能检查,班级以布尔值的形式返回成功。问题是,这个consume()并没有移除注册到鼠标点击的动作 - 它获得越来越多的skillcheck和“滚动”实例。相关部分:
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());
}
}
已解决!或至少是一种解决方法。猜猜我必须爬到谷歌搜索的黑暗角落,在第五页之后。 ans1.removeMouseListener(ans1.getMouseListeners()[2]); < - 从鼠标侦听器数组中移除。 [0]是JButton的基本监听者。 [1]保持效果。 [2]导致问题。
如果解决了问题,请将您的解决方案作为答案发布。编辑你的问题与“解决!”被皱起了眉头。请参阅https://stackoverflow.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/了解更多信息 – Andreas
将会做。对不起,你可以看到,新的在这里:) –