如何从 jtextArea 或 JEditorPane 获取控制台输入和输出

发布于 2024-12-06 12:31:13 字数 264 浏览 1 评论 0原文

我正在尝试构建一个调用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的旅程 2024-12-13 12:31:13

这个问题很广泛(不简洁),但有一些提示:

您可以通过使用执行外部进程

Process p = Runtime.getRuntime().exec("...").

您获得的进程代表正在运行的外部进程,您可以通过以下方式获取其输入和输出:

BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
PrintWriter pw = new PrintWriter(p.getOutputStream());

使用 br您可以逐行读取该过程的输出并将其添加到 JTextArea 中。使用pw,您可以打印到进程的输入以传递一些数据。

您应该使用线程连续从进程中读取数据并将数据添加到文本区域。数据应该由用户解释,当他/她认为该过程需要一些输入时,应该将其写入文本区域并单击按钮(例如),然后读取文本区域并将数据写入 密码。

This question is broad (not concise), but some tips:

You can execute the external process by using

Process p = Runtime.getRuntime().exec("...").

The process you get represents the external process running and you can get its input and output with:

BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
PrintWriter pw = new PrintWriter(p.getOutputStream());

With the br you can read the output of the process, line by line and add it to a JTextArea. With the pw 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文