JavaFX线程问题 - 方法调用运行时GUI冻结

时间:2010-03-16 14:35:52

标签: java multithreading javafx freetts

我希望有人可以提供帮助,因为我有点难过。我有一个运行用户界面的javafx类,其中包括一个用于大声读出一些文本的按钮。当你按它时,它会调用一个Java对象,该对象使用FreeTTS java语音合成器大声读出一个字符串,这一切都正常。

问题是,当语音被读出时,程序完全停止直到完成。我不是线程应用程序的专家,但我理解通常如果我扩展Thread类,并在重写的run方法中提供语音合成代码的实现,当我在类上调用start时它“应该”创建一个新的Thread,并在那里运行此代码,允许打开JavaFX GUI的主线程正常继续。

知道为什么不是这样吗?非常感谢提前!

1 个答案:

答案 0 :(得分:0)

Ack - 我已经解决了!我调用了类的start()方法而不是run()及其排序。看起来现在看起来很明显!