我正在创建一个Java GUI,它使用ProcessBuilder与C++可执行文件交互。图形用户界面可执行文件中的所有InputStream、OutputStream、ErrorStream都被重定向到C++ TextBox。C++可执行文件非常快,并且它输出很多消息。现在的问题是,即使C++可执行文件完成执行,图形用户界面仍然通过TextBox打印这些消息(因为我正在创建显示线程以写入图形用户界面TextBox),并持续5-6分钟。有没有办法使图形用户界面-文本框的写入速度与C++可执行文件打印的速度同步?提前谢谢。
发布于 2013-07-01 14:40:53
有一个想法,看看它是否适用于你:
不要试图用来自c++的每一条消息来刷新gui。尝试缓冲它们,并最小化您为GUI刷新所做的回调次数。你不能预先决定一个合适的缓冲区大小,你可以刷新到GUI。您可能需要通过尝试不同的缓冲区大小并通过回调限制GUI刷新的次数来进行此微调。
希望它能帮上忙!
https://stackoverflow.com/questions/17398616
复制相似问题