Skip to main content

Membangun Geometri Primitif dengan Java

Kelas Graphics

Dengan kemampuan dari kelas graphics yang dimiliki Java dalam class libraries, maka dimungkinkan untuk dapat memebangun bidang lines, shape, character, warna dan image pada suatu applet. Anda tidak harus menciptakan sebuah instance dari Graphics yang tujuannya adalah untuk membangun sesuatu di applet; pada applet anda metode kelas Graphics.


Kelas Graphics adalah bagian dari paket java.awt dengan demikian apabila Anda memmbangun suatu bidang pada applet, pastikan bahwa anda harus melakukan import pada class tersebut dan diletakkan pada bagian awal dari file java, contoh:

import java.awt.Graphics;
public class Grafiksatu extends java.applet.Applet
{
...
}

Sistem Koordinat Grafik

Untuk membangun sebuah objek pada laayr, Anda harus memanggil salah satu dari metode yang tersedia di dalam kelas Graphics. Pada semua metode drawing memiliki argumen yang mewakili titik-akhir, titik-sudut dan titik-awal dari sebuah objek yang berisi nilai-nilai dalam sistem koordinat yang membangun grafik sebagai contoh: suatu garisdimulai dari titik-awal (10,10) dan titik-akhir (20,20).

Sistem koordinat pada java selalu dimulai dari titik (0,0) yang diposisikan pada sudut kiri atas. Nilai x positif berada di kanan dan inlai y positif berada di bawa. Semua nilai piksel bertipe integer (tidak ada piksel dengan niliai partial dan fractional).

Sistem koordinat pada java berdeda dengan bahasa pemrograman yang lainnya, dimana dimulai dari sudut bawah. Apabila Anda belum terbiasa bekerja dengan posisi yang terbalik ini, maka disarankan agar Anda mulai memperbanyak latihan dengan sistem koordinat pada java.


Membangun Bidang "Line"

Untuk membangun bidang garis lurus, gunakan metode drawLine(). Metode drawLine memiliki 4 (empat) argumen, yaitu: koordinat x dan y pada titik-awal dan koordinat x dan y pada titik-akhir.
Contoh:

import java.awt.Graphics;
public class MyLine extends java.applet.Applet{
    public void paint (Graphics g){
        g.drawLine(25,25,75,75,);
}
}

Membangun Bidang "Rectangle"

Pemrograman grafik primitif pada Java menyediakan beberapa bentuk ari rectangles:
  • Segi empat biasa
  • Segi empat dengan sudut yang melengkung
  • Segi empat dengan tampilan tiga dimensi, yang dibentuk dengan membangun sudut yang berbayang.
Dari setiap segi empat ini, Anda akan mendapati 2 (dua) macam metode yang akan membentuk: (1) metode yang akan membentuuk segi empat dari sisi luar, (2) metode yang akan men-draw segi empat dengan warna di dalamnya.

  • Segi Empat Biasa

Agar dapat menggambar suatu bidang segi empat biasa, gunakan salah satu dari metode drawRect() atau  fillRect(). Kedua metode ini memiliki argumen : koordinat x dan y yang berada pada sudut kiri atas dari segi empat, adalah lebar dan tinggi dari segi empat yang akan di gambar.

contoh:
import java.awt.Graphics:
public class SegiEmpat1 extendas java.applet.Applet {
   public void paint(Graphics g){
   g.drawRect(20,20,60,60);
   g.fillRect(120,20,60,60);
}
}

  • Segi Empat Membulat / Melengkung

Segi empat membulat/melengkung yang dimaksud disini adalah segi empat lengkungan pada sudut-sudutnya. Adappun metode drawRoundRect() dan fillRoundRect(), metode ini mirip dengan metode yang digunakan untuk menggambar segi empat biasa, hanya saja perbedaannya terletak pada nilai lebar dan tinggi yang ditambahkan pada sudut seti empat.
g.drawRoundRect(20,20,60,60,10,10); ~~~> Argumen tambahan.

Kedua argumen tambahan (lebar dan tinggi) menjelaskan berapa panjang dari luas tepian pada segi empat yang dimana luas tepian ini akan berbentuk seperti "arc" akan mulai digambar. Titik pertama akan membangun arah horizontal dan titik kedua akan membangun garis vertikal. Besaran nilai yang ditambakan pada setiap titik (lebar, tinggi) akan menciptakan leaih banyak lengkungan secara keseluruhan pada sudut bidang segi empat; nilai yang sama pada setiap titik akan membentuk lingkaran.

contoh:
import java.awt.Graphics;
public class SegiEmpat extends java.applet.Applet{
   public void paint (Graphics g){
   g.drawRoundRect(20,20,60,60,10,10);
   g.fillRoundRect120,20,60,60,20,20);
}
}

  • Segi Empat Dalam Bentuk 3 (tiga) Dimensi

Pada dasarnya yang dimaksud dengan bidang 3 dimensi disini adalah bidang segi empat yang miliki efek berbayang seolah-olah segi empat tersebut berada diatas atau dibawah tampilan applet. Segi empat ini memiliki 4 (empat) argumen yang diperuntukkan pada titik x dan y dari posisi titik awal dan lebar dan tinggi dari bidang segi empat. Argumen ke-5 berbentuk nilai boolean yang mengindikasikan pakah efek 3D ini dibangun diatas applet (true) atau dibawah applet (false). Adapun metode yang digunakan untuk membangun bidang segi empat 3D ini adalah: draw3drect() dan fill3Drect().

contoh:
import java.awt.Graphics;
public class Kotak3D extends java.applet.Applet{
   public void paint(Graphics g){
   g.draw3DRect(20,20,60,60,true);
   g.draw3dRect(120,20,60,60,false);
   g.fill3DRect(122,22,58,57,true);
}
}

  • Membangun Bidang "Polygons"

Polygon adalah bentuk suatu bidang dengan jumlah sisi yang tak terhingga. Untuk menggambar bidang polygon, membutuhkan sekelompok koordinat dari x dan y. Sebuah bidang polygon digambar seperti halnya ada sejumlah garis lurus yang dimulai dari titik pertama ke titik kedua, titik kedua ke titik ketiga dan seterusnya.

Sama seperti segi empat, Anda dapat menggambar bentuk polygon menggunakan metode drawPolygon() dan fillPolygon(). Anda padat pula emilih bagaimana mengindikasikan sejumlah titik koordinat (dalam bentuk array dari koordinat x dan y) atau sebagai suatu instan dari kelas Polygon.

Menggunakan cara pertama untuk menggambarkan bidang polygon, metode drawPolygon () dan fillPolygon()membutuhkan 3 (tiga) argumen:
  1. array bertipe integer yang menjadi koordinat sumbu x
  2. array bertipe integer yang menjadi koordinat sumbu y
  3. integer untuk megumpulkan sejumlah titik-titik yang dibentuk Elemen dari array x dan y, harus berasda dalam jumlah yang sama.

contoh:
import java.aw.Graphics;
public class MyPoly extends java.applet.Applet{
   public void paint(Graphics g){
   int exes[]= {39,94,97,142,53,26};
   int whys[]= {33,74,36,70,108,80,106};
   int pts = exes.length;
   g.draawPolygon (eves,whys,pts);
}
}

Menggunakan cara kedua dari pemanggilan metode drawPolygon() dan fillPolygon() adalah dengan menggunakan objek Polygon untuk mengembalikan nilai pada masing-masing titik dari polygon. Kelas dari Polygon dapat berguna apabila Anda secara intens menambahkan selalu menambahkan sejumlah sumbu ke dalam bidang polygon atau Anda sedang mengembangkan bentuk polygon. Menggunakan kelas dari Polygon, dimungkinkan untuk menggunakan polygon sebaaagai objek dari pada Anda harus mengatur array pembentuk polygon.

Untuk memekai objek polygon, sebelumnya membuat objek kosong dari polygon.
Polygon poly = new Polygon();
Atau membuat polygon dari sejumlah titik dalam array bertipe integer, seperti cnotoh sebelumnya:
  
   int exes[]= {39,94,97,142,53,26};
   int whys[]= {33,74,36,70,108,80,106};
   int pts = exes.length;
   g.draawPolygon (eves,whys,pts);

Saat objek polygon sudah tercipta, Anda dapat menambahkan titik sesuati dengan yang diinginkan:
PolyaddPoint(20,35);
Kemudian, gunakan objek polygon tersebur sebagai argumen pada metode drawPolygon() atau fillPolygon().

Membangun Bidang "Ovals"

Oval digunakan untuk membentuk bidang elips atau lingkaran. Oval hampir sama dengan segi empat dengan sudut yang melengkung secara keseluruhan. Bidang oval dibangun menggunakan argumen: koordinat x dan y pada sudut atas, dan lebar dan tinggi pada bagian oval itu sendiri.

Seperti halnya metode yang digunakan pada bidang geometri lainnya, metode drawOval() untuk membentuk bidang oval dan metode fillOval() digunakan untuk membentuk bidang ovalyang berisi.

contoh:
import java.awt.Graphics;
public class MyOval extends java.applet.Applet{
   public void paint(Graphics g){
   g.drawOval(20,20,60,60,);
   g.fillOval(120,20,100,60);
}
}

Catatan: jangan karena anda mengir-ngira bahwa oval itu dibentuk dari beberapa jarak di kiri dan naik ke atas dari garis obal itu sendiri. Tetapi anggaplah bahwa obal dibentuk dari sebuah kotak, dengan begitu Anda akan lebih mudah membangun bidang oval ini.

Membangun Bidang "Arc"

Dari semua bentuk yang dapat dibangun menggunakan metode dari kelas Graphics, arc (busur.lengkung) adalah bidang yang paling kompleks. Busur adalah bagian dari bidang oval; pada dasarnya, cara yang mudah memikirkan bentuk dari sebuah busur adalah bagian dari obal yang komplit.

Metode drawArc() memiliki beberapa argumen: sudut awal, lebar dan tinggi, sebuah sudut untuk memulai bentuk arc, sebuah derajat sebagai titik henti. Adapun metode fillArch() digunakan untuk mengisi bidang arc; kedua titik akhiri bergabung ke tengah-tengah dari sebuah lingkaran.

Hal terpenting yang harus dimengerti menganai arc adalah Anda sebenarnya sedang memformulasi bentuk arc sebagai sebuah bidang oval dan hanya menggambarkan bagian itu saja. Posisi titik awal dan lebar dan tinggi, bukanlah membentuk sudut awal, tinggi dan lebar dari bentuk arc yang Anda lihat pada layar; mereka adalah bentuk penuh dari elips yang merupakan bagian dari sebuah arc.

Bagian pertama ini (sudut awal, lebar dan tinggi) menentkan ukuran dan bentuk dari sebuah arc; dua argumen terakhir (derajat) menentukan titi-awal dan titik-akhir dari sebuah arc.

contoh:
import java.awt.Graphics;
public class MyOval extends java.applet.Applet{
   public void paint(Graphics g){
   g.drawArc(20,20,60,60,90,180);
   g.fillArc(120,20,60,60,180);
}
}

Comments

Popular posts from this blog

Pemrograman Grafis Java 2D

Application Programming Interface (API) pada Java adalah kesatuan dari kelas-kelas yang dapat digunakan untuk menciptakan grafis dengan kualitas tinggi, Java 2D adalah termasuk bagian utama dari kelas-kelas dalam platform Java 2. Dalam Java 2D memiliki beberapa paket, yaitu:

Teks dan Huruf Komputer Grafik

Komputer Grafi dapat juga membuat sebuah teks dan huruf, dengan menggunakan kelas Graphics, kita dapat mencetak teks ke layar, dalam kaitannya dengan kelas Font (yang kadang-kadang disebut kelas FontMetrics() . Kelas Font mewakili font tertentu 0 nama, haya dan ukurannya. Sedangkan FontMetrics memberikan kita informasi tentang font tersebut (misalnya, tinggi atau lebar aktual dari karakter tertentu_ segingga kita dapat secara tepat mengatur teks dalam applet. Perlu diingat bahwa proses penggambaran teks disini dilakukan sekali dan dimaksudkan untuk tetap tampil di layar.