java日常学习:事件(简要版)

java代码块


事件

事件: 当某个组件发生了指定的动作事,会有相应的处理方案。

事件:
事件源 、 监听器 、 事件 、 处理方式

动作监听器: 动作监听器对于鼠标点击、和空格键都是起作用 的。


作业

//用鼠标监听器实现一个按钮点击变字和变色
package Event;

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

import util.FrameUtil;

public class Mouse_1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame jFrame = new JFrame("鼠标事件-监听器");
        JPanel jpanel = new JPanel();
        jFrame.add(jpanel);
        jpanel.setLayout(null);
        JButton jButton = new JButton("点 我 呀");
        jButton.setBackground(Color.CYAN);
        jpanel.add(jButton);
        jButton.addMouseListener(new MouseListener() {

            @Override
            public void mouseReleased(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
                JButton jButton = (JButton) e.getSource();
                String content = jButton.getText();
                if ("点 我 呀".equals(content)) {
                    jButton.setBackground(Color.yellow);
                    jButton.setText("点 它 吧");
                } else {
                    jButton.setBackground(Color.CYAN);
                    jButton.setText("点 我 呀");
                }

            }

            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub

            }
        });

        jButton.setBounds(75, 55, 150, 150);
        FrameUtil.initFrame(jFrame, 300, 300);

    }

}

//用鼠标适配器实现一个按钮点击变字和变色
package Event;

import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

import util.FrameUtil;

public class Mouse_2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame jFrame = new JFrame("鼠标事件-适配器");
        JPanel jpanel = new JPanel();
        jFrame.add(jpanel);
        jpanel.setLayout(null);
        JButton jButton = new JButton("点 我 呀");
        jButton.setBackground(Color.CYAN);
        jpanel.add(jButton);
        jButton.setBounds(75, 55, 150, 150);
        FrameUtil.initFrame(jFrame, 300, 300);
        jButton.addMouseListener(new MouseAdapter() {

            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
                JButton jButton = (JButton) e.getSource();
                String content = jButton.getText();
                if ("点 我 呀".equals(content)) {
                    jButton.setBackground(Color.yellow);
                    jButton.setText("点 它 吧");
                } else {
                    jButton.setBackground(Color.CYAN);
                    jButton.setText("点 我 呀");
                }

            }

        });

    }

}

//初始化窗口大小和位置
package util;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
//图形化界面的工具类
public class FrameUtil {
    //设置窗体出现在中间位置
    public static void initFrame(JFrame frame,int width,int height ) {
        //获取默认系统工具包
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        //获取屏幕的分辨率
        Dimension dimension = toolkit.getScreenSize();
        int x = (int)dimension.getWidth();
        int y = (int)dimension.getHeight();
        frame.setBounds((x-width)/2, (y-height)/2, width, height);
        //设置窗体的可见性
        frame.setVisible(true);
        //设置窗体关闭
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

用于平时自己复习回顾,如有错误,欢迎指正

个人微信号:yxx85561498,欢迎一起学习交流,努力进步

微信二维码

猜你喜欢

转载自blog.csdn.net/yan_star/article/details/78635272