Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 荡秋千的人不工作_Java_Swingworker - Fatal编程技术网

Java 荡秋千的人不工作

Java 荡秋千的人不工作,java,swingworker,Java,Swingworker,在我的应用程序中,我有两个不同的Swingworker(他们做两种不同的工作)。第一种方法可以很好地工作,而第二种方法则不行 我能做些什么来修复它 class worker extends SwingWorker<Boolean, String> { @Override protected Boolean doInBackground() throws Exception { getstub().registration(name.getT

在我的应用程序中,我有两个不同的Swingworker(他们做两种不同的工作)。第一种方法可以很好地工作,而第二种方法则不行

我能做些什么来修复它

class worker extends SwingWorker<Boolean, String> {     
    @Override
     protected Boolean doInBackground() throws Exception {
        getstub().registration(name.getText(), surname.getText());
      return true;
     }

     protected void done() {
      boolean status;
      try {
       status = get();
       regstatus.setText("registration status: " + status);
      } catch (InterruptedException e) {
      } catch (ExecutionException e) {
      }
     }
}


class worker1 extends SwingWorker<Boolean, String> {        
    @Override
     protected Boolean doInBackground() throws Exception {
        int i = Integer.parseInt(id.getText());
        double r = Double.parseDouble(range.getText());
        double la = Double.parseDouble(lat.getText());
        Coordinate lat = new DegreeCoordinate(la);
        double lo = Double.parseDouble(lon.getText());
        Coordinate lon = new DegreeCoordinate(lo);
        System.out.println("id: "+i+" lat: "+la+ " lon: "+lo+" type: "+type.getText()+ " range: "+r);
        getstub().request(i, lat ,lon ,type.getText(), r);          
        return true;
     }

     protected void done() {

      boolean status;
      try {
       status = get();
       reqstatus.setText("request status: " + status);
      } catch (InterruptedException e) {
      } catch (ExecutionException e) {
      }
     }
}
大范围的问题 看起来您正在使用忍者异常日志(不可见日志):

在那里做一些真正的日志记录,你很可能会看到问题所在。至少使用
System.out.println()
;更好的选择是

特别的错误 在启用日志记录的情况下,发现了一个包裹在执行异常中的
NumberFormatException

大范围的问题 看起来您正在使用忍者异常日志(不可见日志):

在那里做一些真正的日志记录,你很可能会看到问题所在。至少使用
System.out.println()
;更好的选择是

特别的错误
启用日志记录后,发现了一个包装在
ExecutionException
中的
NumberFormatException

True,这将是一个简单的解决方法:)是的,它不适用于:java.lang.NumberFormatException:for输入字符串:“我输入了一个带点的双精度,它不喜欢!对不起,我不明白!哦,是的!is java.util.concurrent.ExecutionException:java.lang.NumberFormatException:输入字符串:“@MicheleSerra谢谢。哪个问题?空字符串从何而来?请发布您的异常的stacktrace。只需将其包含在问题中。没错,这将是一个简单的解决方法:)是的,它不适用于:java.lang.NumberFormatException:对于输入字符串:“我输入了一个带点的double,它不喜欢!对不起,我不明白!哦,是的!is java.util.concurrent.ExecutionException:java.lang.NumberFormatException:输入字符串:“@MicheleSerra谢谢。哪个问题?空字符串从何而来?请发布您的异常的stacktrace。只需将其包含在问题中。没错,这将是一个简单的解决方法:)是的,它不适用于:java.lang.NumberFormatException:对于输入字符串:“我输入了一个带点的double,它不喜欢!对不起,我不明白!哦,是的!is java.util.concurrent.ExecutionException:java.lang.NumberFormatException:输入字符串:“@MicheleSerra谢谢。哪个问题?空字符串从何而来?请发布您的异常的stacktrace。把它包括在问题中。
 private JButton register = new JButton("Register");
 register.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent arg0) {
              new worker().execute();
           }
          });

private JButton search = new JButton("Search now");
search.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent arg0) {
                   reqstatus.setText("I'm searching...");
                   new worker1().execute();                    
               }
              });
  } catch (InterruptedException e) {
  } catch (ExecutionException e) {
  }
  } catch (InterruptedException e) {
      //a thread exception, quite unlikely to happen
      System.out.println(e);
  } catch (ExecutionException e) {
      System.out.println(e);
  }