如何从 jtextArea 或 JEditorPane 获取控制台输入和输出
我正在尝试构建一个调用 C 编译器的小型 IDE。 当 C 编译器编译时,我想将输出重定向到 IDE 中的 JTextArea 或 JEditorPane,以便用户可以查看输出。
另外,从编译的代码执行目标文件后,如何创建用户可以用来与 C 程序交互的控制台?
例如,如果 C 代码要求用户键入输入,则用户可以从控制台执行此操作。
基本上,我想要的是如何将控制台输入和输出操作重定向到 jtextarea 或 jeditorpane。 我正在用java构建IDE。
I am trying to build a little IDE that calls a C compiler.
When the C compiler compiles, I want to redirect the output to a JTextArea or JEditorPane in the IDE so the user can view the output.
Also, after executing the object file from the compiled code, how do i create a console that the user can use to interact with the c program?
for instance if the C code requires the user to type an input, the user can do that from the console.
Basically, what i want is how to redirect a console input and output operations to a jtextarea or jeditorpane.
I am building the IDE with java.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个问题很广泛(不简洁),但有一些提示:
您可以通过使用执行外部进程
您获得的进程代表正在运行的外部进程,您可以通过以下方式获取其输入和输出:
使用
br
您可以逐行读取该过程的输出并将其添加到JTextArea
中。使用pw
,您可以打印到进程的输入以传递一些数据。您应该使用线程连续从进程中读取数据并将数据添加到文本区域。数据应该由用户解释,当他/她认为该过程需要一些输入时,应该将其写入文本区域并单击按钮(例如),然后读取文本区域并将数据写入
密码。
This question is broad (not concise), but some tips:
You can execute the external process by using
The process you get represents the external process running and you can get its input and output with:
With the
br
you can read the output of the process, line by line and add it to aJTextArea
. With thepw
you can print to the input of the process in order to pass some data.You should use a thread to read from the process continuously and add the data to the textarea. The data should be interpreted by the user and when he/she considers the process is requiring some input, should write it to a textarea and click a button (for example) and then you read the textarea and writes the data to the
pw
.