运用鼠标监听器,通过调用不同的函数来画不同的图形,通过设置不同的参数,改变图形的形状,运用for循环,实现3D效果。
public class Draw {
public static void main(String args[]){//主函数
Draw dr = new Draw();//创建对象
dr.Start();//调用窗体函数
}
public void Start(){//Start函数
JFrame je= new JFrame("画图");//创建窗体对象,并设置标题
je.setSize(400,400);//设置窗体大小
je.setDefaultCloseOperation(3);//按X关闭窗体
je.setVisible(true);//设置窗体可见
Graphics g = je.getGraphics();//创建画布对象
Inter In = new Inter(g);//创建鼠标监听器对象
je.addMouseListener(In);//窗体调用鼠标监听器
}
}
public class Inter implements MouseListener{
private Graphics g;
private int x1,x2,y1,y2;//设置属性
public Inter(Graphics g){//把画布传过来
this.g = g;
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {//鼠标按下处设置坐标
x1 = e.getX();
y1 = e.getY();
}
public void mouseReleased(MouseEvent e) {//鼠标松开时设置坐标
x2 = e.getX();
y2 = e.getY();
for(int i=255;i>0;i--){//FOR循环
// g.drawLine(x1, y1, x2, y2);
java.awt.Color c = new java.awt.Color(0,i,50);//设置颜色
g.setColor(c);//画布调用这个颜色
g.fillOval(x1-i/2,y1-i/2,i/2, i/2);//画圆
//java.awt.Color b = new java.awt.Color(50,i,0);
//g.setColor(b);
//g.fillRoundRect(x1, y1, i/2, i/2, 100, 100);
g.drawLine( x1, y1, x2, y2);//画线
}
}
private Color Color(int i, int j, int k) {
return null;
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}