usar formwindowactivated example como closing close java swing events awt windowlistener

formwindowactivated - window listeners in java example



AWT Window Cerrar Listener/Event (2)

Lo siento si esta es una pregunta n00b, pero he pasado demasiado tiempo para esto una vez que creo el oyente Window, evento de ventana y todo lo demás, ¿cómo especifico qué método invocar? Aquí está mi código:

private static void mw() { Frame frm = new Frame("Hello Java"); WindowEvent we = new WindowEvent(frm, WindowEvent.WINDOW_CLOSED); WindowListener wl = null; wl.windowClosed(we); frm.addWindowListener(wl); TextField tf = new TextField(80); frm.add(tf); frm.pack(); frm.setVisible(true); }

Estoy tratando de obtener una URL y descargarla, tengo todo lo demás resuelto, solo estoy tratando de cerrar la ventana.



import java.awt.*; import java.awt.event.*; import javax.swing.*; class FrameByeBye { // The method we wish to call on exit. public static void showDialog(Component c) { JOptionPane.showMessageDialog(c, "Bye Bye!"); } public static void main(String[] args) { // creating/udpating Swing GUIs must be done on the EDT. SwingUtilities.invokeLater(new Runnable() { public void run() { final JFrame f = new JFrame("Say Bye Bye!"); // Swing''s default behavior for JFrames is to hide them. f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); f.addWindowListener( new WindowAdapter() { @Override public void windowClosing(WindowEvent we) { showDialog(f); System.exit(0); } } ); f.setSize(300,200); f.setLocationByPlatform(true); f.setVisible(true); } }); } }

También busque en Runtime.addShutdownHook(Thread) cualquier acción que sea vital realizar antes de apagar.

AWT

Aquí hay una versión AWT de ese código.

import java.awt.*; import java.awt.event.*; class FrameByeBye { // The method we wish to call on exit. public static void showMessage() { System.out.println("Bye Bye!"); } public static void main(String[] args) { Frame f = new Frame("Say Bye Bye!"); f.addWindowListener( new WindowAdapter() { @Override public void windowClosing(WindowEvent we) { showMessage(); System.exit(0); } } ); f.setSize(300,200); f.setLocationByPlatform(true); f.setVisible(true); } }