gpt4 book ai didi

java - 如何在不终止主(调用)程序的情况下关闭另一个具有 JFrame.EXIT_ON_CLOSE 的 Swing 程序

转载 作者:行者123 更新时间:2023-12-02 06:12:01 27 4
gpt4 key购买 nike

我正在使用 swing 创建一个 IDE,它可以编译和运行用户的程序。如果用户编写swing程序并运行该程序内有frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);的程序,则成功运行。但是当用户关闭该程序时,我的 IDE 也会关闭。如何摆脱这个。我希望我的 IDE 不会被关闭。

当用户关闭该程序时,是否有任何程序使我的 swing 应用程序仍然运行?

例如:在 Netbeans IDE 中,当我们运行 swing 程序并关闭该程序时,Netbeans IDE 不会关闭。

最佳答案

您可以将其关闭操作更改为其他操作,例如 DISPOSE_ON_CLOSE 或 DO_NOTHING_ON_CLOSE。

即,

OtherGUI otherGui = new OtherGui();
otherGui.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
otherGui.setVisible(true);

顺便说一句,您可能想告诉我们更多有关您当前运行其他程序的设计的信息,因为这让我担心可能出现的问题。你到底在做什么?

<小时/>

编辑
您声明:

actually i am running that program via reflection and i don't have right to change user program, so what should i do in such case?

I am creating an IDE using swing which can compile and run user's program. if user write swing program and run the program which have frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); inside that program, it successfully run. but when user close there program, my IDE also get closed. How to get rid from this. I want that my IDE don't get closed.

我对此没有经验,但我怀疑您会希望在自己的 JVM 中创建每个启动的 GUI,您不会使用反射(我不认为),而是通过创建一个新进程来创建使用 ProcessBuilder,注意适当处理所有流,并直接在进程中调用 Java,启动程序。

关于java - 如何在不终止主(调用)程序的情况下关闭另一个具有 JFrame.EXIT_ON_CLOSE 的 Swing 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21800834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com