package javabook;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class MyWindowListener implements WindowListener {
    @Override
    public void windowOpened(WindowEvent e) {
        System.out.println("窗口打开"); 
    }
    @Override
    public void windowClosing(WindowEvent e) {
        System.out.println("窗口正在关闭");
        System.exit(1);
    }
    @Override
    public void windowClosed(WindowEvent e) {
        System.out.println("窗口关闭"); 
    }
    @Override
    public void windowIconified(WindowEvent e) {
        System.out.println("窗口最小化");
    }
    @Override
    public void windowDeiconified(WindowEvent e) {
        System.out.println("窗口最小化恢复");  
    }
    @Override
    public void windowActivated(WindowEvent e) {
        System.out.println("窗口被选中");    
    }
    @Override
    public void windowDeactivated(WindowEvent e) {
        System.out.println("窗口被取消");    
    }
    
}import javax.swing.*;
import java.awt.*;
public class MyWindowListenertext {
    public static void main(String[] args) {
        JFrame f=new JFrame("窗体事件");
        //将此窗体加入一个窗口事件监听器之中,这样监听器就可以根据事件进行处理
        f.addWindowListener(new MyWindowListener());
        f.setSize(400,300);
        f.setVisible(true);
    }
}
package javabooktow;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Adapter {
    public static void main(String[] args) {
        JFrame f=new JFrame("监听适配器");
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.out.println("系统关闭");
                System.exit(1);
            }
        });
        f.setSize(400,300);
        f.setVisible(true);
    }
}package javabooktow;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class JavaAction implements ActionListener{
    JFrame f;
    JLabel lab1,lab2,lab3;
    JButton but1,but2;
    JTextField tes;
    JPasswordField pass;
    
    public JavaAction() {
        f=new JFrame("登陆窗口");
        lab1=new JLabel("用户名");
        lab2=new JLabel("密码");
        lab3=new JLabel(" ");
        tes=new JTextField();
        pass=new JPasswordField();
        but1=new JButton("登陆");
        but2=new JButton("重置");
        
        lab1.setBounds(20,20,80,40);
        lab2.setBounds(20,60,80,40);
        tes.setBounds(100,20,100,30);
        pass.setBounds(100,60,100,30);
        but1.setBounds(30,110,60,30);
        but2.setBounds(110,110,60,30);
        lab3.setBounds(100,170,40,30);
        
        f.add(lab1);
        f.add(lab2);
        f.add(tes);
        f.add(pass);
        f.add(but1);
        f.add(but2);
        f.add(lab3);
        
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(1);
            }
        });
        
        but1.addActionListener(this);
        but2.addActionListener(this);
        
        f.setSize(500,500);
        f.setVisible(true);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==but1) {
            String username=tes.getText();
            String fpass=new String(pass.getPassword());
            
            if(username.equals("刘颖岚")&&fpass.equals("123456")) {
                lab3.setText("登陆成功");
            }else {
                lab3.setText("登陆失败");
            }
            
        }else if(e.getSource()==but2) {
            tes.setText("");
            pass.setText("");
        }
        
    }
    
}package javabooktow;
public class JavaActiontest {
    public static void main(String[] args) {
        new JavaAction();
    }
}

4.表示当前对象
package javabooktow;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
class JavaKey extends JFrame {
    JTextArea area;
    JScrollPane scr;
    
    public JavaKey(){
        area=new JTextArea();
        scr=new JScrollPane(area);
        
        scr.setBounds(5,5,300,200);
        super.setTitle("键盘事件");
        area.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                area.append("输入的内容是:"+e.getKeyChar()+"\n");
            }
        });
        super.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(1);
            }
        });
        super.add(scr);
        super.setSize(400,300);
        super.setVisible(true);
    }
    
}package javabooktow;
public class JavaKeytest {
    public static void main(String[] args) {
        new JavaKey();
    }
}
JMenu和JMenuBar
原文:https://www.cnblogs.com/lyl68/p/11913905.html