Jumat, 15 Juli 2011

Menggambar Grafis di Java [pakai Netbeans]

Mumpung lagi bosen mengetik skripsi.. mending ngetik blog saja, haha lumayan lah dari pada males2an.
Baiklah tidak usah lama2 langsung saja kita mulai belajar menggambar seperti layaknya anak TK.. hahah.

Yak.. tool yang digunakan untuk membuat program java disini aku pakai Netbeans, jadi mudah2an kamu sudah pernah pakai Netbean2... kalau belum install dulu, caranya lihat post sebelumnya di sini dan juga mudah2an kamu sudah pernah belajar Object Oriented Programming.. opo kui?? mbuh :p..

Silakan bisa buat project baru File -> New Project, pilih kategory Java->Java Application.





Di Java kalau kita mau menggambar grafis bisasanya menggunakan Canvas yang merupakan elemen lightweight (elemen gui yg ringan).
Canvas ini terletak di java.awt.Canvas. Canvas merupakan suatu komponen jadi kita tidak bisa langsung menampilkan penampakan Canvas ini.
Biasanya untuk menampilkan komponen digunakan Container, misal kita pakai JFrame aja yang mudah, JFrame terletak di javax.swing.JFrame, swing merupakan elemen heavyweight.

Jadi sudah ketahuan kita pakai 2 kelas tersebut, Canvas dan JFrame untuk membuat aplikasi dalam tutorial ini. Namun penggunaannya tidak secara langsung kita pakai 2 kelas tersebut,
namun kita buat kelas sendiri dari turunan 2 kelas tersebut. Disini aku membuat kelas CanvasGambar turunan (extends) Canvas dan FormCanvas extend JFrame dan keduanya aku masukkan dalam package main. Lihat susunannya dalam gambar.

Langkah pertama buat package baru bernama "main" tanpa petik, lalu didalam package main buat class baru (java class) dengan nama CanvasGambar.
Mudah2an anda sudah tahu caranya.. kalau belum, coba browsing google dulu aja, hehe. Klik kanan pada nama projectmu maka akan muncul menunya.




Langsung saja tulis CanvasGambar seperti code di bawah dan baca sendiri komentarnya:

package main;

//import class2 bawaan dalam package awt
import java.awt.*;

/**
 *
 * @author ffred
 */
public class CanvasGambar extends Canvas {
    private int w;
    private int h;

    public CanvasGambar(int w, int h){
        this.w = w;
        this.h = h;
        this.setSize(w, h);
    }
    public void paint(Graphics g){
        //cast Graphics ke Graphics2D yg lebih lengkap
        Graphics2D g2d = (Graphics2D)g;

        //set warna putih
        g2d.setColor(Color.white);
        //warnai canvas dari titik (0,0) sampai lebar w dan tinggi h
        g2d.fillRect(0, 0, w, h);

        //set warna hitam
        g2d.setColor(Color.black);
        g2d.drawString("Belajar menggambar dengan canvas", 10, 20);

        //set warna biru
        g2d.setColor(Color.blue);
        g2d.drawLine(10, 25, w-10, 25);
        
        g2d.setColor(Color.green);      //set warna hijau
        g2d.fillRect(10, 40, 100, 50);  //kotak penuh pada (10,40) pxl=100x50

        g2d.setStroke(new BasicStroke(3));  //ketebalan stroke(garis) diset 3pixel
        g2d.setColor(Color.black);
        g2d.drawRoundRect(120, 40, 100, 100, 10, 10);   //gambar garis kotak tumpul

        g2d.setStroke(new BasicStroke(2));
        g2d.setColor(Color.orange);
        g2d.fillOval(230, 40, 50, 50);  //lingkaran penuh
        g2d.setColor(Color.gray);
        g2d.drawOval(230, 40, 50, 50);  //lingkaran garis
    }
}

Itu method2 buat gambar di Graphics2D kalau kamu pakai Netbeans tinggal diakhir nama variable g2d pencet titik (.) pasti keluar sendiri daftar method yang ada (kalo tidak keluar, pencet Ctrl+Spasi).
Nah dari daftar method yang ada silakan bisa dibaca sendiri, kalau mudeng bahasa inggris pasti paham sendiri.

Selanjutnya silakan buat lagi file FormCanvas di package yang sama (package main), liaht contoh kodenya di bawah

package main;

//import semua class bawaan di dalam package swing
import javax.swing.*;


/**
 *
 * @author ffred
 */
public class FormCanvas extends JFrame {
    public FormCanvas(){
        //membuat form baru dari konstruktor parent JFrame
        super("Ini Form Canvas Saya");

        //menambahkan CanvasGambar ukuran 500x500 yg tadi dibuat
        this.add(new CanvasGambar(300,200));

        //agar ukuran form menyesuaikan Canvas
        this.pack();

        //agar form muncul di tengah layar
        this.setLocationRelativeTo(null);

        //agar form bisa diclose
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //agar form bisa terlihat
        this.setVisible(true);
    }

    //method main untuk menjalankan form, sintaks sudah bawaan java
    public static void main(String arg[]){
        //agar aman dalam menampilkan form gunakan sintaks ini
        java.awt.EventQueue.invokeLater(new Runnable(){
            public void run(){
                new FormCanvas();
            }
        });

    }
}

Kalau sudah selesai dan tidak ada muncul error merah2nya.. silakan bisa di run untuk mencoba menjalakan langsung, maupun di build untuk membuat file jar yang bisa dieksekusi.
Jika berhasil, lihat hasilnya:




Oke deh sekian dulu ya... aku mau ngetik2 buat skripsi lagi. ^v^

4 komentar:

Unknown mengatakan...

fred,,, :

luna-technomagz.blogspot.com (blog aku dan kang mas kuw..xixixi..)

nurulinayah281089.wordpress.com (personal blog)

ffredie mengatakan...

Oke rul.. tak bookmark.. tak tambahkan dalam blog teman

Unknown mengatakan...

Maaf ada referensi buku atau ebook untuk belajar menggambar grafis atau membuat game grafis dengan java ga ya?

Anonim mengatakan...

ada cari di tutorialpoint.com aja tutorialnya nggak nanggung', komplitdah.