Friday 19 October 2012

Membuat Kepala Kucing dengan AWT


Kali ini kita akan membuat kepala kucing masih dengan memanfaatkan AWT.  Penjelasan AWT telah dibahas pada posting sebelumnya.

Berikut Algoritma program yang akan kita buat :
>Membuat wajahnya yang berbentuk Oval (fillOval)
>Membuat 2 Polygon masing-masing 3 titik untuk telinganya (fillPolygon)
>Membuat mata berwarna putih –kanan dan kiri (fillOval)
>Membuat mata berwarna hitam – kanan dan kiri
>Membuat garis melengkung untuk membuat mulutnya (drawArc)
>Membuat sisi sisi mulutnya (drawArc)
>Membuat polygon segitiga untuk ballon (fllPolygon)
>Membuat ovale untuk ballon (fillOval)
>Menambahkan text yang akan berisi nama siswa (drawString)

Program ini hanya membutuhkan 1 class, mewarisi class Panel (extends Panel) dan override (mengubah isi) pada class Graphic.



package Kucing;


import java.awt.*;

public class Kucing extends Panel{
    Kucing()
    {
        setBackground(new Color(157, 201, 215));
    }
   
    @Override
    public void paint(Graphics g){   
        super.paint(g);
   
        g.setColor (new Color(215, 107, 0));
        g.fillOval(200, 90, 260, 190);
       
        g.setColor (new Color(215, 107, 0));
        int []x = {220, 230, 290};
        int []y = {140, 60, 130};
        g.fillPolygon(x, y, 3);
       
        g.setColor (new Color(215, 107, 0));
        int []x1 = {370, 430, 445};
        int []y1 = {140, 60, 160};
        g.fillPolygon(x1, y1, 3);
       
        g.setColor (new Color(43, 95, 172));
        int []x2 = {130, 150, 195};
        int []y2 = {140, 110, 160};
        g.fillPolygon(x2, y2, 3);
        g.fillOval(12, 52, 190, 100);
       
        g.setColor(Color.WHITE);
        g.fillOval(270, 130, 30,43);
        g.fillOval(360, 130, 30,43);
       
        g.setColor(Color.BLACK);
        g.fillOval(272, 143, 27, 27);
        g.fillOval(362, 143, 27, 27);
        g.drawArc(252, 110, 150, 150, 190, 170);
       
        g.drawLine(393, 183, 408, 183);
        g.drawLine(243, 196, 258, 196);
        g.setFont(new Font("Lucida Handwriting", Font.BOLD, 14));
        g.drawString("Nadiyah NF", 45, 90);
        g.drawString("XII RPL 4", 55, 120);
       
    }
   
public static void main(String[] args) {
        Frame f1 = new Frame("Hello Mundo");
        Kucing h1 = new Kucing();
        f1.add(h1);
        f1.setSize(600, 400);
        f1.setVisible(true);
}}



Hasilnya :




AWT (Abstract Windowing Toolkit)


Garis Besar tentang AWT
The Java Foundation Class (JFC) termasuk koleksi dari API dimana dapat mempermudah pengembangan aplikasi JAVA GUI. JFC
termasuk diantara 5 bagian, yaitu AWT dan Swing (bagian utama) dan Java2D, Accessibility, dan Drag dan Drop (bagian lainnya)
AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi
Java dan Applet. Disini kita akan tidak akan dulu membahas tentang Applet. Beberapa komponen AWT ditulis dengan native code

Class Penting AWT
class penting yang telah disediakan oleh AWT adalah sebagai berikut


Grafik dalam Class Graphic
Berikut adalah beberapa method grafik yang dapat ditemukan jika kita melakukan Override superclass Graphic


Constructor Color
Constructor Color yang akan sering digunakan yaitu Constructor Color yang memiliki parameter nilai integer pada RGBnya, :
Color(int r, int g, int b);

Namun, hubungan dengan class Color juga memiliki Constructor yang lainnya, yaitu :


*untuk penjelasan dan penggunaannya akan diberikan pada contoh pembuatan program

-------------------------------------

Program : Membuat Bentuk wajah menggunakan fungsi-fungsi pada AWT

Algoritma Program :

>Menentukan warna background (setBackground)
>Membuat bulatan untuk wajah (FillOval)
>Membuat mata berwarna putih kanan dan kiri (FillOval)
>Membuat mata berwarna hitam kanan dan kiri (FillOval)
>Membuat hidung (FillOval)
>Membuat garis setengah lingkaran untuk mulut (drawArc)
>Membuat garis sebagai pembatas antara space atas (wajah), dan bawah (nama) - (drawLine)
>Menambahkan nama siswa di space bawah (drawString)
Pada method main
>Membuat framenya, dengan ukuran disesuaikan

Kita hanya butuh 1 class untuk program ini, dengan mewariskan class Panel, dan override Graphic
Penulisan program untuk membuat bentuk wajah yang terdiri dari mata, hidung, dan mulut adalah sebagai berikut.


AWT_face.java


package awt_face;

import Example.example;
import java.awt.*;


/**
 *
 * @author nadin
 */
public class AWT_face extends Panel{
   
       AWT_face()
    {
        setBackground(new Color(0, 255, 57));
    }
   
    public void paint(Graphics n){
        n.setFont(new Font("Times New Roman", Font.BOLD, 17));
        n.drawString("Nadiyah NF", 20, 330);
        n.drawString("XII RPL 4", 290, 330);
       
        n.setColor (Color.ORANGE);
        n.fillOval(90, 40, 210, 210);
       
        n.setColor(Color.WHITE);
        n.fillOval(140, 90, 30,43);
        n.fillOval(210, 90, 30,43);
       
        n.setColor(Color.BLACK);
        n.fillOval(144, 110, 23, 23);
        n.fillOval(214, 110, 23, 23);
        n.drawLine(20, 300, 370, 300); //xi, x2, y1, y2       
       
        n.setColor(new Color(255, 128, 255));
        n.fillOval(180, 150, 21, 21);
       
        n.setColor (Color.MAGENTA);
        n.drawArc(166, 150, 50, 50, 180, 180);

        
        }
    public static void main(String[] args) {
        Frame f1 = new Frame("Hello AWT");
        AWT_face h1 = new AWT_face();
        f1.add(h1);
        f1.setSize(400, 400);
        f1.setVisible(true);
    }
}



Hasilnya :