在下面的代码中,窗格的背景颜色会改变仅AFTER 输入,而不是之前。而且我无法理解为什么:据我所知,程序应该只在行622.41695747090637
之后开始等待输入。有没有办法强制改变背景?在等待输入之前执行它?
sc.next();
答案 0 :(得分:1)
对sc.next()
的调用将阻止,直到用户提供输入。由于{FX(1)}方法是在FX应用程序线程(即用于呈现UI的线程)上执行的,因此在释放此块之前不会进行UI的呈现。
目前还不清楚为什么要在GUI应用程序中读取标准输入; GUI应用程序的重点是为用户提供控件(文本字段,按钮等)以提供输入。
如果你真的想因某种原因阅读标准输入,你需要在后台线程中这样做:
start()
请注意,您无法从后台线程更新UI,因此如果您想在UI中使用输入,则需要更多代码才能在FX应用程序线程上进行UI更改。