PBO A - TUGAS CLASS 2 (BUAT RUMAH)


SOURCE CODE :

Class canvas :

import javax.swing.*;   
  import java.awt.*;   
  import java.util.List;   
  import java.util.*;   
  public class Canvas   
  {    
   private static Canvas canvasSingleton;   
    public static final Color hijau_pekat = new Color(0,153,0);  
    public static final Color coklat = new Color(102,51,0);  
    public static final Color abuabu = new Color(153,153,153);  
    public static final Color abuabu_gelap = new Color(51,51,51);  
   public static Canvas getCanvas()   
   {   
    if(canvasSingleton == null) {   
     canvasSingleton = new Canvas("BlueJ Shapes Demo", 600, 400,    
       Color.white);   
    }   
    canvasSingleton.setVisible(true);   
    return canvasSingleton;   
   }   
   private JFrame frame;   
   private CanvasPane canvas;   
   private Graphics2D graphic;   
   private Color backgroundColour;   
   private Image canvasImage;   
   private List<Object> objects;   
   private HashMap<Object, ShapeDescription> shapes;   
   private Canvas(String title, int width, int height, Color bgColour)   
   {   
    frame = new JFrame();   
    canvas = new CanvasPane();   
    frame.setContentPane(canvas);   
    frame.setTitle(title);   
    canvas.setPreferredSize(new Dimension(width, height));   
    backgroundColour = bgColour;   
    frame.pack();   
    objects = new ArrayList<Object>();   
    shapes = new HashMap<Object, ShapeDescription>();   
   }   
   public void setVisible(boolean visible)   
   {   
    if(graphic == null) {   
     // first time: instantiate the offscreen image and fill it with   
     // the background colour   
     Dimension size = canvas.getSize();   
     canvasImage = canvas.createImage(size.width, size.height);   
     graphic = (Graphics2D)canvasImage.getGraphics();   
     graphic.setColor(backgroundColour);   
     graphic.fillRect(0, 0, size.width, size.height);   
     graphic.setColor(Color.black);   
    }   
    frame.setVisible(visible);   
   }    
   public void draw(Object referenceObject, String color, Shape shape)   
   {   
    objects.remove(referenceObject);   
    objects.add(referenceObject);  
    shapes.put(referenceObject, new ShapeDescription(shape, color));   
    redraw();   
   }   
   public void erase(Object referenceObject)   
   {   
    objects.remove(referenceObject); // just in case it was already there   
    shapes.remove(referenceObject);   
    redraw();   
   }   
   public void setForegroundColor(String colorString)   
   {   
    if(colorString.equals("red"))   
     graphic.setColor(Color.red);   
    else if(colorString.equals("black"))   
     graphic.setColor(Color.black);   
    else if(colorString.equals("blue"))   
     graphic.setColor(Color.blue);   
    else if(colorString.equals("yellow"))   
     graphic.setColor(Color.yellow);   
    else if(colorString.equals("green"))   
     graphic.setColor(Color.green);   
    else if(colorString.equals("pink"))   
     graphic.setColor(Color.pink);   
    else if(colorString.equals("white"))   
     graphic.setColor(Color.white);   
    else if(colorString.equals("orange"))  
     graphic.setColor(Color.orange);   
    else if(colorString.equals("hijautua"))  
     graphic.setColor(hijau_pekat);  
    else if(colorString.equals("coklat"))  
     graphic.setColor(coklat);  
    else if(colorString.equals("abuabu"))  
     graphic.setColor(abuabu);  
    else if(colorString.equals("abuabugelap"))  
     graphic.setColor(abuabu_gelap);  
    else   
     graphic.setColor(Color.black);  
   }    
   public void wait(int milliseconds)   
   {   
    try   
    {   
     Thread.sleep(milliseconds);   
    }    
    catch (Exception e)   
    {   
     // ignoring exception at the moment   
    }   
   }   
   private void redraw()   
   {   
    erase();   
    for(Iterator i=objects.iterator(); i.hasNext(); ) {   
     ((ShapeDescription)shapes.get(i.next())).draw(graphic);   
    }   
    canvas.repaint();   
   }   
   private void erase()   
   {   
    Color original = graphic.getColor();   
    graphic.setColor(backgroundColour);   
    Dimension size = canvas.getSize();   
    graphic.fill(new Rectangle(0, 0, size.width, size.height));   
    graphic.setColor(original);   
   }   
   private class CanvasPane extends JPanel   
   {   
    public void paint(Graphics g)   
    {   
     g.drawImage(canvasImage, 0, 0, null);   
    }   
   }   
   private class ShapeDescription   
   {   
    private Shape shape;   
    private String colorString;   
    public ShapeDescription(Shape shape, String color)   
    {   
     this.shape = shape;   
     colorString = color;   
    }   
    public void draw(Graphics2D graphic)   
    {   
     setForegroundColor(colorString);   
     graphic.fill(shape);   
    }   
   }   
  }   

Class square :

 import java.awt.*;    
  public class Square    
  {    
   private int size;    
   private int xPosition;    
   private int yPosition;    
   private String color;    
   private boolean isVisible;    
   // New Square   
   public Square()    
   {    
   size = 100;    
   xPosition = 260;    
   yPosition = 200;    
   color = "red";    
   isVisible = false;    
   }    
   // Make Shape Visible   
   public void makeVisible()    
   {    
   isVisible = true;    
   draw();    
   }    
   // Make Shape Invisible   
   public void makeInvisible()    
   {    
   erase();    
   isVisible = false;    
   }    
   // Geser Kanan   
   public void moveRight()    
   {    
   moveHorizontal(20);    
   }    
   // Geser Kiri   
   public void moveLeft()    
   {    
   moveHorizontal(-20);    
   }    
   // Geser Atas   
   public void moveUp()    
   {    
   moveVertical(-20);    
   }    
   // Geser Bawah   
   public void moveDown()    
   {    
   moveVertical(20);    
   }    
   // Geser Horizontal dengan banyak pixel   
   public void moveHorizontal(int distance)    
   {    
   erase();    
   xPosition += distance;    
   draw();    
   }    
   // Geser Vertikal dengan banyak pixel   
   public void moveVertical(int distance)    
   {    
   erase();    
   yPosition += distance;    
   draw();    
   }    
   // Ganti Ukuran Shape >=0   
   public void changeSize(int newSize)    
   {    
   erase();    
   size = newSize;    
   draw();    
   }    
   // "red", "yellow", "blue", "green", "pink" and "black"    
   public void changeColor(String newColor)    
   {    
   color = newColor;    
   draw();    
   }    
   private void draw()    
   {    
   if(isVisible) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.draw(this, color,    
     new Rectangle(xPosition, yPosition, size, size));    
    canvas.wait(10);    
   }    
   }    
   private void erase()    
   {    
   if(isVisible) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.erase(this);    
   }    
   }    
  }    

Class triangle :

 import java.awt.*;    
  public class Triangle    
  {    
   private int height;    
   private int width;    
   private int xPosition;    
   private int yPosition;    
   private String color;    
   private boolean isVisible;    
   // New Triangle   
   public Triangle()    
   {    
   height = 30;    
   width = 40;    
   xPosition = 50;    
   yPosition = 15;    
   color = "blue";    
   isVisible = false;    
   }    
   // Make Shape Visible   
   public void makeVisible()    
   {    
   isVisible = true;    
   draw();    
   }    
   // Make Shape Invisible   
   public void makeInvisible()    
   {    
   erase();    
   isVisible = false;    
   }    
   // Geser Kanan   
   public void moveRight()    
   {    
   moveHorizontal(20);    
   }    
   // Geser Kiri    
   public void moveLeft()    
   {    
   moveHorizontal(-20);    
   }    
   // Geser Atas   
   public void moveUp()    
   {    
   moveVertical(-20);    
   }    
   // Geser Bawah   
   public void moveDown()    
   {    
   moveVertical(20);    
   }    
   // Geser Horizontal dengan banyak pixel   
   public void moveHorizontal(int distance)    
   {    
   erase();    
   xPosition += distance;    
   draw();    
   }    
   // Geser Vertikal dengan banyak pixel   
   public void moveVertical(int distance)    
   {    
   erase();    
   yPosition += distance;    
   draw();    
   }    
   // Ganti Ukuran Shape >=0   
   public void changeSize(int newHeight, int newWidth)    
   {    
   erase();    
   height = newHeight;    
   width = newWidth;    
   draw();    
   }    
   // "red", "yellow", "blue", "green", "pink" and "black"    
   public void changeColor(String newColor)    
   {    
   color = newColor;    
   draw();    
   }    
   private void draw()    
   {    
   if(isVisible) {    
    Canvas canvas = Canvas.getCanvas();    
    int[] xpoints = { xPosition, xPosition + (width/2), xPosition - (width/2) };    
    int[] ypoints = { yPosition, yPosition + height, yPosition + height };    
    canvas.draw(this, color, new Polygon(xpoints, ypoints, 3));    
    canvas.wait(10);    
   }    
   }   
   private void erase()    
   {    
   if(isVisible) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.erase(this);    
   }    
   }    
  }    

Class circle :

 import java.awt.*;    
  import java.awt.geom.*;    
  public class Circle    
  {    
   private int diameter;    
   private int xPosition;    
   private int yPosition;    
   private String color;    
   private boolean isVisible;    
   // New Circle   
   public Circle()   
   {    
   diameter = 30;    
   xPosition = 20;    
   yPosition = 60;    
   color = "blue";    
   isVisible = false;    
   }    
   // Make Shape Visible   
   public void makeVisible()    
   {    
   isVisible = true;    
   draw();    
   }    
   // Make Shape Invisible   
   public void makeInvisible()    
   {    
   erase();    
   isVisible = false;    
   }    
   // Geser Kanan   
   public void moveRight()    
   {    
   moveHorizontal(20);    
   }    
   // Geser Kiri   
   public void moveLeft()    
   {    
   moveHorizontal(-20);    
   }    
   // Geser Atas   
   public void moveUp()    
   {    
   moveVertical(-20);    
   }    
   // Geser Bawah   
   public void moveDown()    
   {    
   moveVertical(20);    
   }    
   // Geser Horizontal dengan banyak pixel   
   public void moveHorizontal(int distance)    
   {    
   erase();    
   xPosition += distance;    
   draw();    
   }    
   // Geser Vertikal dengan banyak pixel   
   public void moveVertical(int distance)    
   {    
   erase();    
   yPosition += distance;    
   draw();    
   }    
   // Ganti Ukuran Shape >=0   
   public void changeSize(int newDiameter)    
   {    
   erase();    
   diameter = newDiameter;    
   draw();    
   }    
   // "red", "yellow", "blue", "green", "pink" and "black"    
   public void changeColor(String newColor)    
   {    
   color = newColor;    
   draw();    
   }    
   private void draw()    
   {    
   if(isVisible) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.draw(this, color, new Ellipse2D.Double(xPosition, yPosition,    
     diameter, diameter));    
    canvas.wait(10);    
   }    
   }    
   private void erase()    
   {    
   if(isVisible) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.erase(this);    
   }    
   }    
  }    

Class rectangle :

 import java.awt.*;    
  public class Recta    
  {    
   private int P;    
   private int L;   
   private int xPosition;    
   private int yPosition;    
   private String color;    
   private boolean Tampak;    
   // New Square   
  public Recta()    
   {    
   P = 100;    
   L = 50;   
   xPosition = 260;    
   yPosition = 200;    
   color = "red";    
   Tampak = false;    
   }    
  public void Nampak()    
   {    
   Tampak = true;    
   draw();    
   }    
   //Fungsi untuk membuat benda tidak nampak   
  public void TidakNampak()    
   {    
   erase();    
   Tampak = false;    
   }    
   // Geser Kanan   
  public void GeserKanan()    
   {    
   GeserHorizontal(20);    
   }    
   // Geser Kiri   
  public void GeserKiri()    
   {    
   GeserHorizontal(-20);    
   }    
   // Geser Atas   
  public void GeserAtas()    
   {    
   GeserVertical(-20);    
   }    
   // Geser Bawah   
  public void GeserBawah()    
   {    
   GeserVertical(20);    
   }    
   // Geser Horizontal dengan banyak pixel   
  public void GeserHorizontal(int distance)    
   {    
   erase();    
   xPosition += distance;    
   draw();    
   }    
   // Geser Vertikal dengan banyak pixel   
  public void GeserVertical(int distance)    
   {    
   erase();    
   yPosition += distance;    
   draw();    
   }    
   // Ganti Ukuran Shape >=0   
  public void changeSize(int newP,int newL)    
   {    
   erase();    
   P = newP;    
   L = newL;   
   draw();    
   }    
   // "red", "yellow", "blue", "green", "pink" and "black"    
  public void changeColor(String newColor)    
   {    
   color = newColor;    
   draw();    
   }    
  private void draw()    
   {    
   if(Tampak) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.draw(this, color,    
     new Rectangle(xPosition, yPosition, P, L));    
    canvas.wait(10);    
   }    
   }    
  private void erase()    
   {    
   if(Tampak) {    
    Canvas canvas = Canvas.getCanvas();    
    canvas.erase(this);    
   }    
   }    
  }    

Komentar

Postingan populer dari blog ini

Membuat Form Registrasi menggunakan JavaScript

membuat form pendaftaran menggunakan php & mysql - PWEB C

PBO - A TUGAS MEMBUAT PROGRAM REMOTE AC