繁体   English   中英

如何以独立于平台的方式在 netbeans 中的 Java 框架内运行外部程序?

[英]How do I run an external program inside a Java frame in netbeans in a platform independent manner?

我目前正在为一所大学做一个研究项目,我正在与我的数据库进行 GUI 交互并基于数据启动一个外部程序。 我正在使用运行时命令(一旦检测到操作系统)使用所选数据启动该外部程序。

我的问题是如何将外部程序的 GUI 嵌入到 Java 框架中,如果这甚至可以远程实现?

鉴于对该问题的澄清评论,简短的回答是“不,你不能那样做”。

Java 无法在 JFrame 中显示本机程序的 GUI,即使目标程序实际上被设计为允许其 GUI 在另一个程序的框架中呈现。

您正在使用控制台应用程序吗? 您必须拦截其标准输出才能正确执行。 因此,您可以在 UI 控件中显示第 3 方应用程序正在输出的文本,您可以将其放入 JFrame 中。

It depends from the application you want to embed to the JFrame, but you can try to use jawt: https://docs.oracle.com/javase/9/docs/specs/AWT_Native_Interface.html

您将能够获得特定于本机操作系统的 window 句柄并可以在其上绘制,或者您可以将其用作容器。 请注意,仅支持硬件组件,因此您需要将面板/画布添加到 JFrame,然后将其用于您的本机应用程序。

This is similar to this question: Native JNI/JAWT Swing application runs successfully on Java 6, but fails on Java 7 (64-bit Windows 7 OS)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM