Java-GUI-窗口监听、键盘监听

窗口监听

import java.awt.*;
import java.awt.event.*;

public class TestWindow {
    public static void main(String[] args) {
        new WindowFrame();
    }
}
class WindowFrame extends Frame{
    public WindowFrame() {

        Button button1 = new Button("exit");

        add(button1);

        //addWindowListener(new MyWindowListener());
        button1.addActionListener(new MyActionListener());

        this.addWindowListener(new WindowAdapter() {
            //关闭窗口
            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("windowClosing");
            }
            //激活窗口
            @Override
            public void windowActivated(WindowEvent e) {
                System.out.println("windowActivated");
            }
        });

        setVisible(true);
        setBounds(100,100,500,400);

    }

    private class MyWindowListener extends WindowAdapter{
        @Override
        public void windowClosing(WindowEvent e) {
            System.exit(0);//关闭窗口
        }
    }

    private class MyActionListener implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            setVisible(false);
        }
    }
}

键盘监听

import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class TestKeyListener {
    public static void main(String[] args) {
        new KeyFrame();
    }
}
class KeyFrame extends Frame{
    public KeyFrame() {
        setBounds(100,200,500,400);
        setVisible(true);

        this.addKeyListener(new KeyAdapter() {
            //键盘按下
            @Override
            public void keyPressed(KeyEvent e) {
                //获得键盘下的键是哪一个,当前的码
                int keyCode = e.getKeyCode();//不需要记忆,直接使用静态熟悉
                System.out.println(keyCode);
                if (keyCode==KeyEvent.VK_UP){
                    System.out.println("你按下了上键");
                }
            }
        });
    }
}

Guess you like

Origin blog.csdn.net/Mr_yao0/article/details/121426598