private class ButtonListener implements ActionListener    { public void actionPerformed(ActionEvent action) {     Object state = action.getSource();
                if(state == start_stop){ while(start_stop.isSelected()){
contro.forwStep();
                        }
        
}
        }这个是listener的部分我遇到的问题是,运行gui以后,按下这个按钮以后就再也不能停止了,gui上面的其他功能也不能用了

解决方案 »

  1.   

    没有看懂这段代码的意思,但是看其中这段代码:if(state == start_stop){ 
    如果是判断对象是否相等,那么应该用equals()方法吧?
      

  2.   

    你不能在Listener里面做耗时的循环操作,加个线程吧
      

  3.   

    恩,加个线程比较好,控制循环的话,可以申明个变量 boolean control=false; 
    循环用while(control)
    按中control=true;循环开始,弹开后control再设置为false;