GraphicsSample.java


Dosyayı İndir
package com.godoro.samples.awt;

import java.awt.*;

public class GraphicsSample extends Canvas
{
  public void paint(Graphics g){
    paintGround(g,0,0,400,300);
    paintGate(g,360,100,20,100);
    paintDome(g,50,70,77);
    paintStairs(g,220,150,100,5);
    paintMinaret(g,30,30,30,30);
    paintMinaret(g,30,240,30,30);
    paintCourt(g,220,30,150,240);
    paintLabel(g,"A Mosque Plan",100,270);    
  }
  private void paintLabel(Graphics g,String string,int x,int y){
    g.setColor(Color.darkGray);
    Font font=new Font("Arial",Font.ITALIC|Font.BOLD,12);
    g.setFont(font);
    g.drawString(string,x,y);
  }
  private void paintGround(Graphics g,int x,int y,int width,int height){
    g.setColor(Color.lightGray);
    g.fill3DRect(x+10,y+10,width-20,height-20,true);
    g.setColor(Color.blue);
    g.drawRect(x+20,y+20,width-40,height-40);
  }
  private void paintGate(Graphics g,int x,int y,int width,int height){
    g.setColor(Color.blue);
    g.drawRect(x,y,width,height);
  }
  private void paintDome(Graphics g,int x,int y,int radius){
    int xcenter=x+radius;
    int ycenter=y+radius;
    g.setColor(Color.blue);
    g.drawArc(x,y,radius*2,radius*2,0,360);
    g.setColor(Color.gray);
    g.fillArc(xcenter-3,ycenter-3,6,6,0,360);
    for(int angle=0;angle<360;angle+=30){
      paintAngle(g,xcenter,ycenter,angle,radius);
    }
  }
  private void paintStairs(Graphics g,int xcenter,int ycenter,int ybase,int length){
    for(int number=1;number<10;number++){
      paintStair(g,xcenter,ycenter,ybase,length,number);
    }
  }
  private void paintStair(Graphics g,
    int xcenter,int ycenter,int ybase,int length,int number)
  {
    int xstart=xcenter;
    int ystart=ycenter-ybase/2-length*number;
    int width=2*length*number;
    int height=ybase+2*length*number;
    g.drawRect(xstart,ystart,width,height);
  }
  private void paintAngle(Graphics g,
    int xcenter,int ycenter,int angle,int radius)
  {
    double radian=(Math.PI*angle)/180;
    int xend=xcenter+(int)(radius*Math.cos(radian)) ;
    int yend=ycenter-(int)(radius*Math.sin(radian)) ;
    g.drawLine(xcenter,ycenter,xend,yend);
  }
  private void paintMinaret(Graphics g,int x,int y,int width,int height){
    g.setColor(Color.magenta);
    g.draw3DRect(x,y,width,height,true);
    g.setColor(Color.black);
    g.drawArc(x+3,y+3,width-6,height-6,0,360);
    g.setColor(Color.gray);
    g.fillArc(x+width/2-2,y+height/2-2,4,4,0,360);
  }
  private void paintCourt(Graphics g,int x,int y,int width,int height){
    g.setColor(Color.gray);
    g.drawRect(x,y,width,height);
  }
  public static void main(String[] args){
    Frame frame=new Frame();
    frame.setBounds(100,100,410,330);
    frame.setLayout(new BorderLayout());
    GraphicsSample sample=new GraphicsSample();
    frame.add(sample,BorderLayout.CENTER);
    frame.setVisible(true);
  }
}
				
Dosyayı İndir

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir