首先我们要知道如何构造一个事件监视器
1.创建一个BtnAction类,在类之后声明implements ActionListener
public class BtnAction implements ActionListener{}
2.重写接口中的方法(在方法中添加自己想要的代码)
public void actionPerformed(ActionEvent e) {
JFrame jF = new JFrame();
count++;
jF.setTitle("" + count);
jF.setSize(300, 100);
jF.setVisible(true);
}
3.使用按钮对象调用addActionListener方法
ButtonListener btnaction = new ButtonListener();
O1.addActionListener(btnaction);
然而方法的参数是上面咱们自己创造类的对象
鼠标监听器
鼠标监听器的步骤也差不多,首先要创建一个类声明方法MouseListener,然后要重写MouseListener方法中的方法,将自己想要的方法加载其中。另外在界面中需要创建一个监听器
将获取的对象赋值给监听器中的属性。
下面是一个采用鼠标监听器的绘制图像代码
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class DrawListener implements MouseListener {
int x1,x2,y1,y2;
Graphics g;
Graphics p;
public void mouseClicked(MouseEvent e){
System.out.println("点击");
}
public void mousePressed(MouseEvent e){
x1 = e.getX();
y1 = e.getY();
System.out.println("按下");
}
public void mouseReleased(MouseEvent e){
x2 = e.getX();
y2 = e.getY();
System.out.println("释放");
g.drawLine(x1,y1,x2,y2);
p.drawRect(x1,y1,x2,y2);
//g.fillOval (x1,y1,30,30);
}
public void mouseEntered(MouseEvent e){
System.out.println("进入");
}
public void mouseExited(MouseEvent e){
System.out.println("离开");
}
}
下面是窗口界面设置
package com.yn.draw0311;
import java.awt.*;
import javax.swing.*;
public class DrawUI extends JFrame {
public void initUI() {
//因为继承了类JFrame,所以不用在建立对象
this.setTitle("图形绘制");
this.setSize(500, 800);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
// 创建监听器 加给窗体对象
DrawListener dl = new DrawListener();
//非按钮
addMouseListener(dl);
// 获取Graphics 对象 赋值给 监听器中的属性g
Graphics g = getGraphics();
dl.g = g;
dl.p=g;
}
public static void main(String[] args) {
DrawUI drawUI = new DrawUI();
drawUI.initUI();
}
}