事件

  

package com.mao.test;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Test2 {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame();
        //设置界面的宽和高
        jFrame.setSize(603,680);
        //设置页面的标题
        jFrame.setTitle("事件演示");
        //设置界面的置顶
        jFrame.setAlwaysOnTop(true);
        //设置界面居中
        jFrame.setLocationRelativeTo(null);
        //设置关闭模式
        jFrame.setDefaultCloseOperation(3);
        //取消默认的居中模式,
        jFrame.setLayout(null);

        //创建一个按钮对象
        JButton jButton = new JButton("点我啊");
        //设置位置和宽高
        jButton.setBounds(0,0,100,50);
        //给按钮添加动作监听
        //jbutton:组件对象,表示你要给哪个组件添加对象
        //addActionListener:表示我要给哪个组件添加哪个事件监听(动作监听包括鼠标左键点击和空格)
        //参数 代表事件被触发后要执行的代码
        //jButton.addActionListener(new MyActionListener()); MyActionListener只被调用一次,我们可以使用匿名内部类的方法调用

        jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("damiao~");
            }
        });

        //吧按钮添加到整个页面当中
        jFrame.getContentPane().add(jButton);

        jFrame.setVisible(true);
    }
}

 

package com.mao.test;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

public class MyJFrame extends JFrame implements ActionListener {
    JButton jtb1 = new JButton("点我啊啊");
    JButton jtb2 = new JButton("zai点我啊啊");
    public MyJFrame(){
        this.setSize(603,680);
        this.setTitle("拼图单机版 1.0");
        this.setAlwaysOnTop(true);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(3);
        this.setLayout(null);


        jtb1.setBounds(0,0,100,50);
        jtb1.addActionListener(this);


        jtb2.setBounds(100,0,100,50);
        jtb2.addActionListener(this);

        //吧按钮添加到整个界面当中
        this.getContentPane().add(jtb1);
        this.getContentPane().add(jtb2);

        this.setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //可以对当前的按钮进行判断

        //获取当前被操作的按钮对象
        Object source = e.getSource();

        if(source == jtb1){
            jtb1.setSize(200,200);
        }else if(source == jtb2){
            Random r = new Random();
            jtb2.setLocation(r.nextInt(500),r.nextInt(500));
        }
    }
}

 

 

 

package com.mao.test;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class MyJFrame2 extends MyJFrame implements MouseListener {
    public MyJFrame2(){
        this.setSize(603,680);
        this.setTitle("拼图单机版 1.0");
        this.setAlwaysOnTop(true);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(3);
        this.setLayout(null);


        jtb1.setBounds(0,0,100,50);
        //给按钮绑定鼠标事件
        jtb1.addMouseListener(this);



        //吧按钮添加到整个界面当中
        this.getContentPane().add(jtb1);


        this.setVisible(true);
    }

    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("单击");
    }

    @Override
    public void mousePressed(MouseEvent e) {
        System.out.println("按下不松");

    }

    @Override
    public void mouseReleased(MouseEvent e) {
        System.out.println("松开");

    }

    @Override
    public void mouseEntered(MouseEvent e) {
        System.out.println("划入");

    }

    @Override
    public void mouseExited(MouseEvent e) {
        System.out.println("划出");

    }
}

 

 

 

 

package com.mao.test;

import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class MyJFrame3 extends JFrame implements KeyListener {
    public MyJFrame3(){
        this.setSize(603,680);
        this.setTitle("拼图单机版 1.0");
        this.setAlwaysOnTop(true);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(3);
        this.setLayout(null);


        //给整个窗体添加键盘监听
        //调用者this:本类对象,当前的界面对象,表示我要给整个界面添加监听
        //addKeyListener:表示我要给本界面添加键盘监听
        //参数this:当参数被触发后,会执行本类中的对应代码
        this.addKeyListener(this);

        this.setVisible(true);
    }

    @Override
    public void keyTyped(KeyEvent e) {

    }

    //细节一:
    //如果我们按下一个按键没有松开,那么会重复的去调用keyPressed方法
    //细节二:
    //键盘里那么多按键,怎么去区分
    //每一个按键都有一个编号,与之对应
    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("按下不松");
    }

    @Override
    public void keyReleased(KeyEvent e) {
        System.out.println("松开按键");
        //获取键盘上每一个按键的编号
        int keyCode = e.getKeyCode();
        System.out.println(keyCode);
        if(keyCode == 65){
            System.out.println("按的是A");
        }else if(keyCode == 66){
            System.out.println("按的是B");

        }
    }
}

 

posted @ 2022-08-12 07:26  是貓阿啊  阅读(47)  评论(0)    收藏  举报