我正在开发用于java编程的GUI。
我希望在我的GUI中实现一个控制台(类似于终端),用于编译和执行创建的程序。 (比如eclipse中的控制台窗口)。我经历了几个教程(包括 stackoverflow )。
我有一些解决方案可以将 System.out 和 System.err 重定向到 TextArea 。好的。我很满意。
但是当我运行java程序时,通过使用这些东西,我无法为正在执行的程序提供输入。
例如,根据我目前的状态,我可以看到::
在 TextArea 中输入一个数字:但无法输入该程序。
要完成控制台的功能,我也可以给执行中的程序输入.. !!但我不知道该怎么做.. !!我遇到了大麻烦。
答案 0 :(得分:1)
假设您正在使用Process。要获得流程,请使用ProcessBuilder启动您的程序。流程可以访问流程的输入/输出流。然后,您可以以任何您需要的方式使用这些流。如果您希望您的进程与系统输入/输出进行交互,则需要将它们复制到相应的系统流中或从相应的系统流中复制它们。
请参阅此问题/答案以获取示例:
以及后续行动:
另外,请参阅Java 7中添加的新ProcessBuilder.inheritIO()方法。
答案 1 :(得分:0)
这家伙已将stdin指向jtextarea ..