java - JNI - 将 STDOUT 连接到 JTextArea?

标签 java c++ swing applet java-native-interface

我想知道是否可以将 C/C++ dll 的 STDOUT 连接到 JTextArea?问题是,我正在使用第 3 方 DLL,因此我无法手动更改它们。 基本上我有我的 Java 小程序,然后是我自己的 DLL,它加载和管理第 3 方 DLL,它是第 3 部分 DLL,它执行 printf() 之类的事情。它在调试期间出现在 Eclipse 控制台中,但我希望它出现在 JTextArea 或其他东西中。

编辑:澄清一下,我在我的 win32 DLL 中使用 std::cout。

谢谢

最佳答案

什么是标准输出?如果它是 Posix 文件句柄,那么你可以做的不多 做。你必须关闭它,然后打开一个临时文件,写入它, 然后在Java部分阅读它。如果您实际上正在使用 std::cout 对于输出,可以(暂时)更改 streambuf 它使用 stringbuf,然后将生成的字符串传递给 Java。

关于java - JNI - 将 STDOUT 连接到 JTextArea?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5483068/

相关文章:

swing - 为什么 Jython 拒绝找到我的 Java 包?

Java Swing/JFrame 监听器

Java JComponent 在 JFrame 边缘附近被切断

java - 没有调用 paint 方法

java - 仅发布适用于 3.2+ 平板电脑和 2.2+ 手机的应用程序?

c++ - 我是否正确地排除了 base 的 fn() 函数?

java - 导入 Kafka MockAdminClient 以使用 Maven 对我的 Kafka 应用程序进行单元测试

c++ - 内联命名空间是否必须始终如此限定?

c++ - 作为新对象的参数给出的 std::function 的转发参数

java - 如何修改Swing在布局文本组件时使用的clip字符串省略号