java语言GUI编程之鼠标适配器总结2

来源:互联网 发布:剑网三数据导入要钱吗 编辑:程序博客网 时间:2024/05/18 20:52
/* 2015年3月21日21:35:47 程序目的:这是窗体画圈的泛型版。使用泛型的好处   装入集合的类型都被当作Object对待,从而失去了自己的实际类型。  从集合中取出时往往需要转型,效率低,容易产生错误。    解决办法:   在定义集合的同时定义集合中的对象的类型     优点:   增强程序的可读性和稳定性。
    注意查看本博文的附件,便于理解鼠标事件模型

  */
import java.awt.*;import java.awt.event.*;import java.util.*;
public class MyMouseAdapterGeneric { public static void main(String[] args) {  new MyFrame("Drawing..."); }}
class MyFrame extends Frame { ArrayList<Point> points = null; public MyFrame(String title) {  super(title);  points = new ArrayList<Point>();    setBounds(200, 300, 600, 400);  addMouseListener(new MyAdapter());  setVisible(true); }   public void paint(Graphics g) {  Iterator<Point> it = points.iterator();    Color c = g.getColor();  g.setColor(Color.BLUE);  while (it.hasNext()) {   Point p =it.next();   g.fillOval(p.x, p.y, 10, 10);     }    g.setColor(c); }  public void addPoint(Point p) {  points.add(p); } }
class MyAdapter extends MouseAdapter {
  public void mouseClicked(MouseEvent e) {  MyFrame mf = (MyFrame)e.getSource();  mf.addPoint(e.getPoint());
   mf.repaint();
 }}
0 0
原创粉丝点击