Tag: jframe windowlistener

如何在JFrame中覆盖windowsClosing事件

我正在开发一个JFrame,它有一个显示另一个JFrame的按钮。 在第二个JFrame上,我想覆盖WindowsClosing事件以隐藏此框架但不关闭所有应用程序。 所以我喜欢这样: 在第二个JFrame上 addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); private void formWindowClosing(java.awt.event.WindowEvent evt) { this.dispose(); } 但是当我点击窗口上的x按钮时应用程序仍然关闭。 为什么? 你能帮助我吗? 我不能用 setDefaultCloseOperation(DISPOSE_ON_CLOSE); 因为我需要再次显示JFrame在第一个JFrame的操作过程中添加了一些信息。 所以我初始化第二个JFrame,属性visible false 。 如果我使用dispose,我将失去另一个JFrame在第二时刻添加的信息。 所以我用 private void formWindowClosing(java.awt.event.WindowEvent evt) { this.setVisible(false); } 但它仍然会继续终止我的整个应用程序。

在JFrame关闭时终止正在运行的线程

当用户关闭JFrame窗口时,如何调用额外的操作? 我必须停止现有的线程。 据我了解, setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 导致框架关闭并且其线程停止。 是否应该在JFrame.EXIT_ON_CLOSE之后关闭线程? 客户: static boolean TERMINATE = false; public static void main(String[] args) { // some threads created while(true) { if(TERMINATE){ // do before frame closed break; } } } private static JPanel startGUI(){ JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel gui = new JPanel(); f.add( gui); f.setSize(500,500); f.setVisible(true); return gui; […]

如何在用户关闭应用程序JFrame之后但在程序退出之前直接保存一些对象?

美好的一天! 我正在使用扩展JFrame的NetBeans IDE开发一个小型Java应用程序。 我实现了几种关闭App的方法,例如按Ctrl-Q并按下JFrame的X. 但在实际关闭之前,我希望程序为我执行一些额外的代码,以保存应用程序在下次启动时需要重用的一些对象。 更改整个程序关闭行为的最佳方法是什么? 我正在考虑覆盖/替换defaultCloseOperation,如下所示: setDefaultCloseOperation( myOwnCloseOperation ); 谢谢你的帮助!

如何防止JFrame关闭

我有一个Java GUI应用程序,使用reflection和加载从中调用另一个Java GUI应用程序。 它工作正常唯一的问题是,在关闭调用的应用程序的JFrame ,主GUI应用程序框架也会关闭。 如何防止主应用程序(框架)关闭? 我无法更改调用的应用程序的defaultCloseOperation ,但是可以对主应用程序进行更改。 它与线程有什么关系吗? 这是我执行目标应用程序的应用程序代码 public class ClassExecutor{ private ClassLoaderOfExtClass classLoader; private byte[][] ArrayOfClasses; private String[] ArrayOfBinaryNames; @SuppressWarnings(“rawtypes”) private ArrayList loadedClasses; private ArrayList loadedClasesNames; private Object[] parameters; @SuppressWarnings(“rawtypes”) public ClassExecutor() { classLoader = new ClassLoaderOfExtClass(); new ArrayList(); loadedClasses = new ArrayList(); loadedClasesNames = new ArrayList(); } @SuppressWarnings(“unchecked”) public void execute(File[] […]

关闭操作的JFrame

我想知道是否有办法,通过点击“X”,让程序在关闭JFrame之前执行一些代码。 setDefaultCloseOperation()方法只接受一个整数。 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setDefaultCloseOperation代替显示JFrame

我正在制作一个文字处理器应用程序,以便练习Java,我希望它能够在用户尝试关闭应用程序时,JFrame将要求保存更改。 我在考虑setDefaultCloseOperation()但到目前为止我运气不佳。 如果可能的话,我还希望用户点击窗口右上角的“X”。

Java Swing为EXIT_ON_CLOSE添加动作侦听器

我有一个简单的GUI: public class MyGUI extends JFrame{ public MyGUI(){ run(); } void run(){ setSize(100, 100); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// maybe an action listener here } } 我想打印出这条消息: System.out.println(“Closed”); 当GUI关闭时(按下X时)。 我怎样才能做到这一点?