package ch8.adapter;import java.awt.*;import java.awt.event.*;import java.util.*;/*** 17.鼠标适配器,了解*Adapter和*Listener的关系**/public class MyMouseAdapter {public static void main(String args[]) {new MyFrame("drawing...");}}class MyFrame extends Frame {ArrayList<Point> points = null;MyFrame(String s) {super(s);points = new ArrayList<Point>();setLayout(null);setBounds(300, 300, 400, 300);this.setBackground(new Color(204, 204, 255));setVisible(true);this.addMouseListener(new Monitor());}public void paint(Graphics g) {Iterator i = points.iterator();while (i.hasNext()) {Point p = (Point) i.next();g.setColor(Color.BLUE);g.fillOval(p.x, p.y, 10, 10);}}public void addPoint(Point p) {points.add(p);}}class Monitor extends MouseAdapter {public void mousePressed(MouseEvent e) {MyFrame f = (MyFrame) e.getSource();f.addPoint(new Point(e.getX(), e.getY()));f.repaint(); //重画,1)双缓冲机制: repaint->update()->paint()。2)为什么不直接调用paint?拿不到Graphics画笔。}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。