我开始玩Java Reflection,当我关闭子应用程序的gui时,为什么我的父应用程序关闭,我很难过?任何人都在意解释我应该怎么处理我的代码?
URL url = new File(System.getProperty("user.dir")+"\\plugins\\"+plugins).toURI().toURL();
URL[] urls = new URL[]{url};
ClassLoader cl = new URLClassLoader(urls);
Class cls = cl.loadClass(mainclass);
Object plugs = cls.newInstance();
System.out.println("EXECUTING PLUGIN...");
Method meths = plugs.getClass().getMethod("getClassControl", JPanel.class);
meths.invoke(plugs, jPanel1);
System.out.println(plugins+" PLUGIN LOADED...");
此代码位于父应用程序内,该应用程序是带有jpanel的jframe。 involked方法的作用是将jpanel对象传递给类,类添加一个jbutton,它有一个动作来显示子jframe。
每当我尝试关闭子jframe时,整个过程就会终止。我还尝试更改子jframe的关闭操作以进行处理,但它会产生相同的结果。
答案 0 :(得分:0)
可能你需要改变
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
到
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)