簡體   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