当前位置: 代码迷 >> J2SE >> 死活找不出哪里出了有关问题
  详细解决方案

死活找不出哪里出了有关问题

热度:263   发布时间:2016-04-24 15:33:57.0
死活找不出哪里出了问题!
以下run()所在的类负责与服务器端通信,tfd   是一个JTextArea,用来显示提示信息,用整型变量i显示while循环运行的次数,运行时发现tfd中显示到“GO2”就没有下文了,也就是只按开始按钮时读取了一道题的内容和考试时间,再按读取下一题时就没有反应,可服务器端显示正确输入试题内容,而且这边也没有任何异常显示,不知道是什么原因,郁闷得快要死掉了!!!!!!!!
private   Runnable   rn=new   Runnable(){
        public   void   run(){
            int   i=0;//////////TEST!!!!!!!!!!!!
            String   s=null;
            while(true){
               
                try{
                    s=in.readUTF();
                    i++;/////////////!!!!!!
                    tfd.append( "GO "+i);
                }
                catch(Exception   e){
                  tfd.setText( "和服务器的连接已经断开 ");
                }
                if(s!=null){
                    if(s.startsWith( "分数 ")){
                        txtShowAnswer.setText( "\n "+s);
                    }
                    else   if(s.startsWith( "试题内容 ")){
                        tfd.append(s);
                        txtShowAsk.setText( "\n "+s);
                        txtShowAsk.repaint();
                    }
                    else   if(s.startsWith( "考试结束 ")){
                        timer.stop();
                    }
                    else   if(s.startsWith( "考试用时 ")){
                        tfd.append(s);
                        String   str=s.substring(s.indexOf( ": ")+1);
                        leftTime=Long.parseLong(str);
                        long   leftHour=leftTime/3600;
                        long   leftMinute=(leftTime-leftHour*3600)/60;
                        long   leftSecond=leftTime%60;
                        tfdShowTime.setText( "剩余时间: "+leftHour+ "小时 "+leftMinute+ "分 "+leftSecond+ "秒 ");
                        tfdShowTime.repaint();
  相关解决方案