
`//测试鼠标监听
public class TestMouse01 {
public static void main(String[] args) {
new MyFrame123("画图工具");
}
}
class MyFrame123 extends Frame{
//监听鼠标事件画画,需要集合来储存每个点击
ArrayList point;
public MyFrame123(String title) {
super(title);
setBounds(200,200,300,400);
//存鼠标点击的点
point = new ArrayList<>();
setVisible(true);
//鼠标监听器,针对该窗口
this.addMouseListener(new MyMouseListiner());
}
@Override
public void paint(Graphics g) {
//画画监听鼠标事件
Iterator iterator = point.iterator();
while (iterator.hasNext()){
Point ppot = (Point) iterator.next();
g.setColor(Color.BLUE);
g.fillOval(ppot.x, ppot.y, 10,10); //小弟圆点
}
}
//添加一个点到见面上
public void addPaint(Point ppot){
point.add(ppot);
}
//适配器模式 继承接口下类,而不是直接实现接口
private class MyMouseListiner extends MouseAdapter{
//鼠标,按下,弹起,按住不放
@Override
public void mousePressed(MouseEvent e) {
MyFrame123 frame123 = (MyFrame123) e.getSource();
//这里点击的时候,就会在界面产生一个点
frame123.addPaint(new Point(e.getX(),e.getY()));
//每次点击鼠标都要重新画一遍
frame123.repaint(); //刷新页面
}
}
}
1万+

被折叠的 条评论
为什么被折叠?



