我的应用程序是使用JavaFX开发的。我将命令从JavaFX客户端发送到solaris机器上的jar文件,并获取该jar文件的输出,并使用JSCH将其显示在JavaFX应用程序的文本区域中。最初,solaris机器上的jar文件中只有一个线程,因此所有输出都是顺序的,没有混淆。但是现在我在Solaris上的JAR文件中实现了多线程,这导致了如下问题:
我想在文本区域中以不同方式显示每个线程的输出。我想将文本区域划分为等于solaris机器jar文件中使用的线程数的部分。我找到了从solaris向我的JavaFX应用程序发送线程数的方法。
如何将文本区域分成几部分?
下面是我在文本区域中打印线程输出的代码:
while ((jarOutput = reader.readLine()) != null) {
this.logger.info("Status Update = " + jarOutput);
bw.write(jarOutput);
bw.newLine();
bw.flush();
outputFromUnix.append(jarOutput).append("\n");
// Display in activity log area in realtime.
if (DeploymentTaskController.actLogTArea != null
&& !taskName.equalsIgnoreCase(connectBundle)) {
final String outputStr = outputFromUnix.toString();
Platform.runLater(new Runnable() {
@Override public void run() {
DeploymentTaskController.actLogTArea.setText(outputStr);
DeploymentTaskController.actLogTArea.end();
}
});
}
}