Java 消息发送者停止程序的其余部分

Java message sender brakes the rest of program

好的,正如标题所说,我得到了这个可以帮助我的小工具,我想添加 "sort of message spammer" 但是当它开始时我无法停止它。

代码如下:

SpamScriptToggleButton.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent ev) {
            if (ev.getStateChange()==ItemEvent.SELECTED) {
                i = 3;
            } else if(ev.getStateChange()==ItemEvent.DESELECTED){
                i = 1;
            }
        while(i > 2) {
            robot.delay(40);
            type("Message "+i+" !");
            i++;
            }
        }
    });

我的问题是如何让它停止,点击 ToggleButton 没有帮助,请记住我需要计算这些消息。

谢谢, 克里斯蒂安

在事件调度线程上调用侦听器https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html虽然它很忙,但它不能做任何其他事情,比如处理取消按钮或更新屏幕。

任何不重要的任务都运行在它自己的线程中。