分形(一个跟随鼠标移动的彩色画笔)

 

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;



public class Boll extends JFrame{

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
        Boll b=new Boll();
        b.InitGUI();
}

private void InitGUI() {
// TODO Auto-generated method stub
this.setTitle("球");
this.setSize(new Dimension(600,500));
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(3);
this.setVisible(true);
Graphics g=this.getGraphics();
MouseMotionListener bl=new MotionListener(g);
this.addMouseMotionListener(bl);
}

}
监听器:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

public class MotionListener implements MouseMotionListener{

private Graphics g;
public MotionListener(Graphics g){
this.g=g;
}
private int i;
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
int x=e.getX();
int y=e.getY();
// q.Color c=new Color(i%256,i%256,i%256);
i=i+10;
g.setColor(new Color((i+10)%256,(i+50)%256,(i+100)%256));
g.fillOval(x,y,10,10);
g.clearRect(x/2, y/2, 10, 10);
}

@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}

}

你可能感兴趣的:(移动)