JavaGUI事件监听机制超详细讲解

2023-03-03 11:03:06 机制 监听 讲解

1.一个事件模型中有上对象:事件源,事件以及监听程序

2.事件监听机制:

  • 事件源        事件发生的地方
  • 事件            要发生的事情
  • 事件处理     针对发生的事情做出的处理方案
  • 事件监听     把事件源和事件关联起来

使用步骤:

  • 新建一个组件(如 JButton)
  • 将该组件添加到相应的面板(如 JFrame)
  • 注册监听器以监听事件源产生的事件(如通过ActionListener来响应用户点击按钮) 
  • 定义处理事件的方法(如在ActionListener中的actionPerfORMed中定义相应方法)

示例1:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class AddActionListener {
    public static void main(String[] args) {
        JFrame jf = new JFrame("AddActionListener");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 400, 300);
        JTextArea area=new JTextArea(20,10);
        area.setLineWrap(true);
        JButton jb=new JButton("秃头");
        jb.addActionListener(new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                area.setText("不要熬夜!");
            }
        });
        jf.add(area);
        jf.add(jb);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

示例2:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class AddActionListener {
    public static void main(String[] args) {
        JFrame jf = new JFrame("AddActionListener");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 400, 300);
        JTextArea area=new JTextArea(20,10);
        area.setLineWrap(true);
        JButton jb=new JButton("秃头");
        jb.addActionListener(new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                area.append("不要熬夜!");
            }
        });
        jf.add(area);
        jf.add(jb);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

tips:ActionEvent是一个类,e是那个类的一个实例。你可以换e无论你喜欢什么,例如。event或object都可以

到此这篇关于JavaGUI事件监听机制超详细讲解的文章就介绍到这了,更多相关JavaGUI事件监听内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章