鼠标监听事件,在我们平时用鼠标进行点击操作的时候,电脑也会做出相应的反应,这就是电脑监听了鼠标的效果。
在窗口上通过鼠标的点击生成小点。
package cxj.cjj; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.Iterator; public class mouselistener { public static void main(String[] args) { new myframe("画板"); } } class myframe extends Frame{ //声明一个动态的数组存数每一次鼠标点击的数据 ArrayList points; public myframe(String title){ super(title); setBounds(100,100,500,500); setVisible(true); //在生成的窗口添加鼠标监听时间 this.addMouseListener(new mouse2()); //将创建的动态数组赋值给points points=new ArrayList(); } @Override public void paint(Graphics g) { //使用迭代的方法运用数组里面的数据 Iterator iterator = points.iterator(); while(iterator.hasNext()){ //这里使用指针类型,当数组当前有元素的时候,指针指向下一个地址 Point point=(Point)iterator.next(); //设置画笔的颜色 g.setColor(Color.blue); //设置鼠标点击后的图形的相关信息 g.fillOval(point.x,point.y,10,10); } } //将每次鼠标点击的数据信息放入数组当中 public void addPaint(Point point) { points.add(point); } } class mouse2 extends MouseAdapter{ @Override public void mouseClicked(MouseEvent e) { myframe frame=(myframe) e.getSource(); //使用定义的addPaint方法将每次点击鼠标的信息的坐标传给数组 frame.addPaint(new Point(e.getX(),e.getY())); //repaint()方法是一个具有刷新页面效果的显示,在我们用鼠标点击窗口时,将会重新刷新页面,显示出新的点。 frame.repaint(); } }