Java Programming‎ > ‎Graphics 2D‎ > ‎

Menggambar Polygon di Java 2D

posted Jul 23, 2011, 8:33 AM by Editor KursusInternet   [ updated Jul 29, 2011, 7:39 PM ]
Polygon adalah bentuk bidang tertutup dengan beberapa sisi berupa garis lurus. Contoh polygon adalah bidang segitiga, bujur sangkar, trapesium, dan lain-lain.

Pada contoh berikut ini, kita akan menggambar segitiga dan sebuah trapesium pada window JPanel (komponen swing) yang memiliki instance dari class Graphics / Graphics2D.

Untuk menggambar polygon kita menggunakan class Polygon dengan data array untuk posisi absis (x) maupun ordinat (y) serta jumlah titik yang akan digunakan.

Sebagai contoh, untuk menggambar bidang segitiga sama kaki maka code yang digunakan kira-kira adalah sebagai berikut.

  public void gambar(Graphics g)
  {
    Graphics2D g2d = (Graphics2Dg;
    int x[] {50200350};
    int y[] {32050320};
    
    g2d.draw(new Polygon(x,y,x.length));
  }

Dari contoh di atas kita menginisialisasi objek g2d yang bertipe Graphics2D dengan melakukan casting terhadap objek g yang bertipe Graphics.

Setelah itu kita buat array untuk posisi x dan y yang mewakili tiga titik persinggahan polygon. Terakhir kita menggambar objek Polygon - dengan inisialisasi posisi x, y dan jumlah titik (x.length) - dengan menggunakan method draw.

Contoh gambar hasil eksekusi dan code lengkapnya ditunjukkan sebagai berikut di bawah ini.


GambarSegitiga.java

package com.kursusinternet.graphics;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class GambarSegitiga extends JPanel {

  private static final long serialVersionUID = 1L;

  public void gambar(Graphics g)
  {
    Graphics2D g2d = (Graphics2Dg;
    int x[] {50200350};
    int y[] {32050320};
    
    g2d.draw(new Polygon(x,y,x.length));
  }

  public void paintComponent(Graphics g) {
    clear(g);
    gambar(g);
  }

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

  public static void main(String[] args) {
    GambarSegitiga panelGambar = new GambarSegitiga();
    JFrame frameGambar = new JFrame("Gambar Polyline");
      frameGambar.setSize(400400);
    panelGambar.setBackground(Color.white);
      frameGambar.setContentPane(panelGambar);
    frameGambar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frameGambar.setVisible(true);
  }
}

~~ Selesai ~~
Comments