⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 通过实例可以更好的了解java
💻
📖 第 1 页 / 共 2 页
字号:
   PrintJob p=f.getToolkit().getPrintJob(f,"ok",null);
   Graphics g=p.getGraphics();
   g.drawRect(30,30,40,40);g.drawOval(20,80,30,30);
   g.dispose(); p.end();
 }
}
class Mycanvas extends Canvas
{ Mycanvas()
  { getSize();
  }
 public void paint(Graphics g)
 { g.drawRect(30,30,40,40); g.drawOval(20,80,30,30);
 }
 public Dimension getPreferredSize()
  {return new Dimension(200,200);   }
}



17-例子24
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
public class Example17_24 extends Applet
{ public void paint(Graphics g)
  {g.setColor(Color.red) ;
  Graphics2D g_2d=(Graphics2D)g;  //把对象g强制转化为Graphinc2D对象。
  Line2D line=new Line2D.Double(2,2,300,300); 
  g_2d.draw(line);               //绘制直线。
 }
}



17-例子25
import java.awt.*;import java.applet.*;
import java.awt.geom.*;
public class Example17_25 extends Applet
{ public void paint(Graphics g)
  {g.setColor(Color.blue) ;
  Graphics2D g_2d=(Graphics2D)g;
  Rectangle2D rect=new Rectangle2D. Double (20,30,300,30); 
  g_2d.draw(rect);
 }
}



17-例子26
import java.awt.*;import java.applet.*;
import java.awt.geom.*;
public class Example17_26 extends Applet
{ public void paint(Graphics g)
 {g.setColor(Color.blue) ;
 Graphics2D g_2d=(Graphics2D)g;
 RoundRectangle2D
 rect_round=new  RoundRectangle2D. Double(20,30,100,130,7,5); 
  g_2d.draw(rect_round);
 }
}


17-例子27
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
public class Example17_27 extends Applet
{ public void paint(Graphics g)
  {g.setColor(Color.yellow) ;
  Graphics2D g_2d=(Graphics2D)g;
  Ellipse2D ellipse=new Ellipse2D. Double (20,30,100,50); 
  g_2d.draw(ellipse);
 }
}



17-例子28
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
public class Example17_28 extends Applet
{ public void paint(Graphics g)
  {g.setColor(Color.red) ;
  Graphics2D g_2d=(Graphics2D)g;
  Arc2D arc1=new Arc2D. Double (2,30,80,55,0,90,Arc2D.OPEN);
  Arc2D arc2=new Arc2D. Double (90,30,90,70,0,180,Arc2D.CHORD); 
  Arc2D arc3=new Arc2D. Double (190,30,50,90,0,270,Arc2D.PIE); 
  g_2d.draw(arc1);g_2d.draw(arc2);g_2d.draw(arc3);
 }
}



17-例子29
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
public class Example17_29 extends Applet
{ public void paint(Graphics g)
  {g.setColor(Color.red) ;
  Graphics2D g_2d=(Graphics2D)g;
  QuadCurve2D curve_1=new  QuadCurve2D.Double(2,30,80,55,20,90);
  QuadCurve2D curve_2=new  QuadCurve2D.Double(2,30,5,67,20,90);
  QuadCurve2D curve_3=new  QuadCurve2D.Double(2,30,54,67,20,90);
  g_2d.draw(curve_1);g_2d.draw(curve_2);g_2d.draw(curve_3);
 }
}



17-例子30
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
public class Example17_30 extends Applet
{ public void paint(Graphics g)
  {g.setColor(Color.red) ;
  Graphics2D g_2d=(Graphics2D)g;
CubicCurve2D curve_1=new  CubicCurve2D.Double(2,30,80,55,10,10,20,90);
CubicCurve2D curve_2=new  CubicCurve2D.Double(2,30,5,67,20,30,20,90);
CubicCurve2D curve_3=new  CubicCurve2D.Double(30,35,54,67,20,90,100,190);
  g_2d.draw(curve_1);g_2d.draw(curve_2);g_2d.draw(curve_3);
 }
}



17-例子31
import java.awt.*;
import java.applet.*;
import java.awt.geom.*;
public class Example17_31 extends Applet
{ public void paint(Graphics g)
 {Graphics2D g_2d=(Graphics2D)g;
  BasicStroke bs_1
=new BasicStroke(8f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);
  BasicStroke bs_2
=new BasicStroke(8f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);
  BasicStroke bs_3
=new BasicStroke(8f,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);
   Line2D line_1=new  Line2D.Double(20,20,80,80);
   Line2D line_2=new  Line2D.Double(80,80,100,20);
   Line2D line_3=new  Line2D.Double(100,20,20,20);
   g_2d.setStroke(bs_1); //设置线条。
   g_2d.draw(line_1);
   g_2d.setStroke(bs_2); //设置线条。
   g_2d.draw(line_2);
   g_2d.setStroke(bs_3); //设置线条。
   g_2d.draw(line_3);
 }
} 



17-例子32
import java.awt.*;import java.applet.*; 
import java.awt.geom.*;
public class Example17_32 extends Applet
{ public void paint(Graphics g)
{Graphics2D g_2d=(Graphics2D)g;
 g_2d.setColor(Color.red);
 Rectangle2D rect_1=new Rectangle2D.Double (20,30,30,50); 
   g_2d.fill(rect_1);
   g_2d.setColor(Color.green);
   Rectangle2D rect_2=new Rectangle2D.Double (60,30,30,50); 
   g_2d.fill(rect_2);
   g_2d.setColor(Color.red);
   Rectangle2D rect_3=new Rectangle2D.Double (100,30,30,50); 
   g_2d.fill(rect_3);
 }
}



17-例子33
import java.awt.*;import java.applet.*;
import java.awt.geom.*;
public class Example17_33 extends Applet
{ public void paint(Graphics g)
  {Graphics2D g_2d=(Graphics2D)g;
   GradientPaint gradient_1
   =new GradientPaint(0,0,Color.red,50,50,Color.green,false);
   g_2d.setPaint(gradient_1);
   Rectangle2D rect_1=new Rectangle2D.Double (20,30,30,50); 
   g_2d.fill(rect_1);
   GradientPaint gradient_2
   =new GradientPaint(0,50,Color.white,150,50,Color.red,false);
   g_2d.setPaint(gradient_2);
   Rectangle2D rect_2=new Rectangle2D.Double (70,30,30,50); 
   g_2d.fill(rect_2);
   GradientPaint gradient_3
   =new GradientPaint(50,0,Color.blue,50,50,Color.white,true);
   g_2d.setPaint(gradient_3);
   Rectangle2D rect_3=new Rectangle2D.Double (140,30,30,50); 
   g_2d.fill(rect_3);
  }
}



17-例子34 
import java.awt.*;import java.applet.*;
import java.awt.geom.*;
public class Example17_34 extends Applet
{ public void paint(Graphics g)
  {Graphics2D g_2d=(Graphics2D)g;
   QuadCurve2D curve
   =new  QuadCurve2D.Double(100,100,80,55,20,50);
   g_2d.setColor(Color.pink);
   AffineTransform trans=new  AffineTransform(); 
   for(int i=1;i<=12;i++)
   { trans.rotate(-30.0*i*3.1415927/180,100,100);
     g_2d.setTransform(trans);
     g_2d.draw(curve);  //现在画的就是旋转后的二次曲线样子。
   }
 }
} 



17-例子35
import java.awt.*;import java.awt.geom.*;
import java.awt.event.*;
public class Example17_35
{public static void main(String args[])
 { Frame f=new Frame(); f.setBounds(100,100,350,370);f.setVisible(true); 
   Mycanvas canvas=new Mycanvas();f.add(canvas,"Center");f.pack();
   f.addWindowListener(new WindowAdapter()
     {public void windowClosing(WindowEvent e)
     {System.exit(0); }
     });
 }
}
class Mycanvas extends Canvas
{ Mycanvas()
  { getSize();
  }
 public void paint(Graphics g)
 { Graphics2D g_2d=(Graphics2D)g;
  BasicStroke bs
  =new BasicStroke(4f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);
  g_2d.setStroke(bs); 
   QuadCurve2D curve
   =new  QuadCurve2D.Double(100,100,200,55,20,50);
   g_2d.setColor(Color.blue);
   AffineTransform trans=new  AffineTransform(); 
   for(int i=1;i<=12;i++)
   { trans.rotate(-30.0*i*3.1415927/180,100,100);
     g_2d.setTransform(trans);
     g_2d.draw(curve);  
   }
 }
 public Dimension getPreferredSize()
  {return new Dimension(300,300);   }
}




17-例子36
import java.awt.*;import java.awt.event.*;
import java.awt.geom.*;import java.applet.*;
public class Flower extends Applet 
{ public void paint(Graphics g)
   { Graphics2D  g_2d=(Graphics2D)g;
     //绘制花叶两边的曲线:  
      
QuadCurve2D
 curve_1=new  QuadCurve2D.Double(200,200,150,160,200,100);
CubicCurve2D curve_2=
new  CubicCurve2D.Double(200,200,260,145,190,120,200,100); 
      //绘制花叶中的纹线:
      Line2D line=new Line2D.Double(200,200,200,110);  
      QuadCurve2D leaf_line1=
new  QuadCurve2D.Double(200,180,195,175,190,170);
      QuadCurve2D leaf_line2=
new  QuadCurve2D.Double(200,180,210,175,220,170); 
      QuadCurve2D leaf_line3=
new  QuadCurve2D.Double(200,160,195,155,190,150);
      QuadCurve2D leaf_line4=
new  QuadCurve2D.Double(200,160,214,155,220,150);   
      
      //利用旋转来绘制花朵:  
      AffineTransform trans=new AffineTransform();
      for(int i=0;i<6;i++)
       {trans.rotate(60*Math.PI/180,200,200);
        g_2d.setTransform(trans); 
        GradientPaint gradient_1=
new GradientPaint(200,200,Color.green,200,100,Color.yellow);
        g_2d.setPaint(gradient_1);
        g_2d.fill(curve_1);
        GradientPaint gradient_2=new
GradientPaint(200,145,Color.green,260,145,Color.red,true);
        g_2d.setPaint(gradient_2);
        g_2d.fill(curve_2);
        Color c3=new Color(0,200,0); g_2d.setColor(c3); 
        g_2d.draw(line); 
        g_2d.draw(leaf_line1); g_2d.draw(leaf_line2);  
        g_2d.draw(leaf_line3); g_2d.draw(leaf_line4);
        }
    //花瓣中间的花蕾曲线:
   QuadCurve2D center_curve_1=
new   QuadCurve2D.Double(200,200,190,185,200,180);
   AffineTransform trans_1=new AffineTransform(); 
      for(int i=0;i<12;i++)
        {trans_1.rotate(30*Math.PI/180,200,200);
         g_2d.setTransform(trans_1); 
         GradientPaint gradient_3=
             new GradientPaint(200,200,Color.red,200,180,Color.yellow);
                g_2d.setPaint(gradient_3);
                g_2d.fill(center_curve_1); 
         }
       //再绘制一个0.4倍的花朵:
          AffineTransform trans_2=new AffineTransform();
           trans_2.scale(0.4,0.4); 
           for(int i=0;i<6;i++)
           { trans_2.rotate(60*Math.PI/180,200,200);
             g_2d.setTransform(trans_2);g_2d.setColor(Color.pink);
             g_2d.fill(curve_1);g_2d.setColor(Color.green);
             g_2d.fill(curve_2);
           }
  }
}



17-例子 37
import java.awt.*;import java.applet.*;
public class PaintTest extends Applet
{public void init()
  {setBackground(Color.yellow);}
 public void paint(Graphics g)
 {g.setXORMode(Color.red);//设置XOR绘图模式。
  g.setColor(Color.green);
  
g.fillRect(20,20,80,40);//矩形的实际颜色是green+yellow的混合色:灰色。 
  g.setColor(Color.yellow);
  g.fillRect(60,20,80,40);//该矩形的前一半是yellow+yellow+灰色=red+灰色,
                            //后一半是红色。 
  g.setColor(Color.green);
  g.fillRect(20,70,80,40);//矩形的实际颜色是green+yellow的混合色:灰色。
  g.fillRect(60,70,80,40);// 该矩形的前一半是green+yellow+灰色=背景色,
                // 后一半是green+yellow:灰色。
     g.setColor(Color.green);
    g.drawLine(100,100,200,200);//该直线是green+yellow:灰色。
   //下面,在同一位置再绘制该直线,因此,该直线前半段是green+yellow+灰色=
灰色+灰色=背景色,该直线后半段是green+yellow=灰色:
g.drawLine(100,100,220,220); 
    //仔细分析下列直线颜色的变化:
    g.setColor(Color.yellow);
    g.drawLine(20,30,160,30);
    g.drawLine(20,75,160,75);
  }
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -