我是靠谱客的博主 野性舞蹈,最近开发中收集的这篇文章主要介绍java将结果输出到文本域_将另一个程序的输出打印到Java文本区域,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我正在使用Java创建GUI.此GUI使用ProcessBuilder类从命令行启动程序.

关于正在启动的进程的一些信息:在命令行中,它创建了另一个窗口并将信息打印到所述窗口.

在我的GUI窗口中,我有一个文本区域,我要将其重定向到该输出.我原本打算使用SwingWorker对象来不断检查更多输出,而不是阻止GUI.为了测试并确保我的原始语法正确(甚至没有引入GUI),我想我会将输出从辅助进程的窗口打印到System.out.但是,似乎有些问题,因为我可以在辅助进程的窗口中看到输出,而不是我正在使用的终端.

代码摘录如下:

Process p = pb.start();

Scanner s = new Scanner(p.getInputStream());

SwingWorker pipe = new SwingWorker (){

public String doInBackground(){

while(run){

if(s.hasNextLine()){

System.out.println("S has next!");

System.out.println(s.nextLine());

}

}

return null;

}

};

pipe.execute();

布尔运算在程序的其他位置定义,并且在进程p退出或被强制退出时设置为false(另一个问题:这是一个非常糟糕的主意吗?我觉得可能是…).

有谁知道为什么当我看到输出到另一个窗口时却没有得到任何输出?最初,我的反应是使用p.getOutputStream(),但Scanner并不将outputStream用作参数.

感谢您的时间.

最后

以上就是野性舞蹈为你收集整理的java将结果输出到文本域_将另一个程序的输出打印到Java文本区域的全部内容,希望文章能够帮你解决java将结果输出到文本域_将另一个程序的输出打印到Java文本区域所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部