我有一个非常简单的JavaFX Controller,带有一个简单的用户名,密码和登录按钮。
我想做的是当用户单击“登录”时,我想禁用输入-我在代码中这样做:
this.gridPanelLogon.setDisabled(true);
并且-可行,但是我的问题是-它似乎是线程化的,因为在此调用之后,我随后对Web REST服务进行了JerseyClient调用-一旦该代码完成,它将更新UI并禁用gridPanel。但是我想要的是让gridPanel首先禁用THEN调用,并且似乎仅在所有代码运行后才更新UI(当它到达上面的代码行时不正确)。
如果我对此解释不佳,我深表歉意,我很乐意帮助您澄清更多,但希望有人对此有所了解,可以帮助解释原因或解决方法。我还尝试了另一种方法,将更改侦听器放置到gridPanel的disabled属性中-这无效,并且导致了与上述相同的延迟。
任何帮助将不胜感激-谢谢!
最佳答案
不要在JavaFX应用程序线程上运行client =>服务器调用,而是通过own thread或Task在其Service中运行它们。