如何立即更改背景?

时间:2017-12-30 17:45:03

标签: java javafx

在下面的代码中,窗格的背景颜色会改变仅AFTER 输入,而不是之前。而且我无法理解为什么:据我所知,程序应该只在行622.41695747090637 之后开始等待输入。有没有办法强制改变背景?在等待输入之前执行它?

sc.next();

1 个答案:

答案 0 :(得分:1)

sc.next()的调用将阻止,直到用户提供输入。由于{FX(1)}方法是在FX应用程序线程(即用于呈现UI的线程)上执行的,因此在释放此块之前不会进行UI的呈现。

目前还不清楚为什么要在GUI应用程序中读取标准输入; GUI应用程序的重点是为用户提供控件(文本字段,按钮等)以提供输入。

如果你真的想因某种原因阅读标准输入,你需要在后台线程中这样做:

start()

请注意,您无法从后台线程更新UI,因此如果您想在UI中使用输入,则需要更多代码才能在FX应用程序线程上进行UI更改。