Wednesday, March 30, 2011

[Netbeans] Tutorial Membuat Gambar 2D dengan Netbeans

Pada tulisan sebelumnya saya pernah menulis bagaimana Membuat Aplikasi Desktop dengan Netbeans. Tulisan kali ini juga menerangkan bagaimana menggunakan Netbeans sebagai IDE untuk membuat aplikasi Java (walaupun saya kurang menyukainya ^_^).

Walaupun begitu, sebenarnya Netbeans mempunyai fitur cukup lengkap bagi Programmer Java untuk memudahkan membuat aplikasi, baik dalam skala kecil maupun raksasa.

Contoh berikut menjelaskan bagaimana menggunakan Netbeans IDE untuk membuat aplikasi penggambaran dengan Java 2D. Saya menggunakan Netbeans 6.9.1.

Langkah 1.
Buka Netbean Anda dan buat project baru dengan jenis project "Java Application"

Langkah 2.
Pilih folder tempat aplikasi dan ketikkan "Painting" pada Project Name. Hilangkan contreng pada Create Main Class.
Sampai pada langkah ini, maka telah terbentuk project kosong dengan nama Painting.

Langkah 3
Pada window Project, klik kanan Source Packages pilih New --> Java Class. Lihat gambar berikut:
Langkah 4
Pada Class Name, ketikkan WindowUtilities dan pada Package ketikkan belajar.java.

Langkah 5
Modifikasi kodenya seperti berikut:

public class WindowUtilities {

  /** A simplified way to see a JPanel or other Container.
   *  Pops up a JFrame with specified Container as the content pane.
   */

  public static JFrame openInJFrame(Container content,
                                    int width,
                                    int height,
                                    String title,
                                    Color bgColor) {
    JFrame frame = new JFrame(title);
    frame.setBackground(bgColor);
    content.setBackground(bgColor);
    frame.setSize(width, height);
    frame.setContentPane(content);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    return(frame);
  }

  /** Uses Color.white as the background color. */

  public static JFrame openInJFrame(Container content,
                                    int width,
                                    int height,
                                    String title) {
    return(openInJFrame(content, width, height, title, Color.white));
  }

  /** Uses Color.white as the background color, and the
   *  name of the Container's class as the JFrame title.
   */

  public static JFrame openInJFrame(Container content,
                                    int width,
                                    int height) {
    return(openInJFrame(content, width, height,
                        content.getClass().getName(),
                        Color.white));
  }
}

Kelas tersebut digunakan sebagai bantuan untuk menampilkan frame window. Agar otomatis melakukan import kelas yang diperlukan, maka klik kanan pilih Fix Imports.


Langkah 6
Dengan cara yang sama dengan langkah 5, buat class baru dengan nama ShapeExample. Kodenya adalah sebagimana berikut:

public class ShapeExample extends JPanel {
  private Ellipse2D.Double circle =
    new Ellipse2D.Double(10, 10, 350, 350);
  private Rectangle2D.Double square =
    new Rectangle2D.Double(10, 10, 350, 350);

  public void paintComponent(Graphics g) {
    clear(g);
    Graphics2D g2d = (Graphics2D)g;
    g2d.fill(circle);
    g2d.draw(square);
  }

  // super.paintComponent clears offscreen pixmap,
  // since we're using double buffering by default.

  protected void clear(Graphics g) {
    super.paintComponent(g);
  }

  protected Ellipse2D.Double getCircle() {
    return(circle);
  }

  public static void main(String[] args) {
    WindowUtilities.openInJFrame(new ShapeExample(), 380, 400);
  }
}

Langkah 7
Kelas utama pada program tersebut adalah pada ShapeExample (dengan ciri mempunyai metode public static void main). Untuk itu set main class pada project dengan cara seperti gambar:
Pada Main Class ketikkan: belajar.java.ShapeExample.

Langkah 8
Klik Debug Main Project atau tekan Ctrl+F5

Tutorial ini saya ambilkan dari sini dengan sedikit modifikasi seperlunya. File dari posting ini dapat didownload di sini. Download, ekstrak dan buka dengan Netbeans melalui open project.