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