在这种情况下如何获得返回值? (Java FX)

时间:2016-04-09 07:28:34

标签: javafx jersey jersey-client

我正在编写跨平台应用程序的一部分,我们主要使用REST(jersey)和Hibernate在系统之间进行通信。我是JavaFX的新手,但我的程序部门应该使用它来获取用户的输入值。以下是代码流的外观:

public class startingClass{

...

public void startingMethod(Payload payload){

//send REST requests to different places with different payloads, like:
Response response = Utility.sendPostRequest(URI, payload2);
something = response.readEntity(something.class)
//more processing with the returned values
...

}}

在我发送请求的其中一个地方:

@Path("something")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON  + ";charset=UTF-8")
public class Resource{

...

@POST
@Path(something)
public Response doSomething(Payload payload) {
    //show JavaFX window with text fields and an okay button
    JavaFXClass.launch(JavaFXClass.class);

   /* THIS IS WHERE I would need to get back the input values somehow */

   //payload3 has the input values I need to send back
   return Response.entity(payload3).build();
}}

JavaFX类扩展了应用程序,并覆盖了(void)start方法,我将要显示的窗口放在一起,单击按钮后(如果输入正常)我关闭窗口。

所以我的想法是,startMethod必须等待,直到响应返回(可能返回一些默认值,如果用户没有输入任何东西一分钟 - 那么优雅的解决方案是什么?)输入值。这将保证同步。

如果我在JavaFX类中使用更多REST或数据库保存,那么当我想在startingMethod(可能不是)中使用它时,我无法确定值是否存在,并且无论如何它可能是一个非常糟糕的解决方案。

我该怎么办?我不太了解javafx中的回调方法,这些可以帮助我吗?谢谢!

0 个答案:

没有答案