我的应用程序是使用 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();
}
});
}
}