AWT窗口关闭侦听器/事件

亚历克斯·曼:

我很抱歉,如果这是一个的n00b问题,但我已经花太长,这一次我创建的窗口侦听器,窗口事件,以及其他一切,我怎么指定调用什么方法?这是我的代码:

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);

}

我试图获取一个URL,然后下载它,我进行了其他所有工作,我只是试图关闭窗口。

安德鲁·汤普森(Andrew Thompson):

窗关闭方法

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);

            }
        });
    }
}

此外Runtime.addShutdownHook(Thread),在关机之前,还应考虑对执行至关重要的任何操作。

AWT

这是该代码的AWT版本。

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);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我需要在关闭窗口之前从窗口对象中删除事件侦听器吗?

为什么此侦听器无法检测到窗口关闭事件?

关闭弹出窗口和返回主阶段焦点事件的侦听器

窗口上的事件侦听器不会删除

如何修复Firefox的窗口滚动事件侦听器?

表事件侦听器

事件侦听器的范围

Javascript事件侦听器

代号一-对话框的事件侦听器可在外部关闭/取消/轻按

jQuery + 整页 + 移动菜单关闭 = 无法阻止被动事件侦听器中的默认值

在电子中关闭BrowserWindow时,事件侦听器继续引用BrowserWindow

如何添加事件侦听器以等待在任何地方单击并关闭 div

如何在Angular 6+中将事件侦听器正确附加到全局“窗口”?

React.js:useEffect 与窗口调整大小事件侦听器不起作用

删除其他事件侦听器功能中定义的弹出窗口

如何将窗口调整大小事件侦听器值设置为 React State?

同一窗口事件的多个侦听器如何影响性能?

jQuery $(窗口).resize(); 等价的事件侦听器,仅在指定的轴更改上触发?

为什么在主窗口中打印后会触发打印事件侦听器后的 iframe?

Dojo:在事件侦听器回调中维护对窗口小部件的引用

使用事件侦听器检测窗口高度和宽度的变化

“编辑标签目标属性与添加事件侦听器”以在新窗口中打开

Outlook加载项事件侦听器

从按钮输入事件侦听器更新

从Vaadin事件侦听器更新组件

OnChild事件侦听器被多次调用

onsubmit 方法与提交事件侦听器

Javascript删除“焦点”事件侦听器

Javascript - classList 事件侦听器的问题