1

我正在开发用于 Java 编程的 GUI。

我希望在我的 GUI 中实现一个控制台(类似终端的东西),用于编译和执行创建的程序。(如 Eclipse 中的控制台窗口)。我浏览了几个教程(包括stackoverflow)。

我有一些解决方案将System.outSystem.err重定向到TextArea。好的。我对此很满意。

但是当我运行一个java程序时,通过使用这些东西,我无法为正在执行的程序提供输入。

例如,以我现在的状态,我可以看到::

输入数字:在TextArea中但无法输入到程序中。

为了完成控制台的功能,我也可以为正在执行的程序提供输入..!! 但我不知道该怎么做..!! 我有大麻烦了。

4

2 回答 2

1

假设您正在使用Process。要获得流程,请使用ProcessBuilder启动您的程序。Process 允许访问进程的输入/输出流。然后,您可以以任何您需要的方式使用这些流。如果您希望您的进程与系统输入/输出交互,那么您需要将它们复制到相应的系统流/从相应的系统流中复制。

有关示例,请参见此问题/答案:

和后续行动:

此外,请参阅 Java 7 中添加的新ProcessBuilder.inheritIO()方法。

于 2013-03-07T18:05:48.513 回答
0

这可能会帮助你 http://www.dreamincode.net/forums/topic/273874-redirect-systemin-to-jtextarea/

这家伙已将标准输入定向到 jtextarea ..

于 2014-03-05T14:39:57.673 回答