Menggunakan kelas Graphics di program Java
Menggunakan Kelas Graphics Di Program Java
Kelas Graphics adalah kelas abstrak yang menyediakan interface untuk menampilkan bentuk dan gambar di layar komputer yang menjalankan platform manapun. Ketika salah satu dari metoda paint(Graphics g) atau paintComponent(Graphics g) digunakan, g adalah obyek konkret superclass dari kelas abstrak Graphics.

Kelas Graphics adalah turunan langsung dari kelas Object yaitu kelas yang berada di puncak teratas dalam hierarki kelas Java. Berikut ini adalah hirarki turunan dari kelas Graphics

Hierarki kelas Graphics di Java

Kelas Graphics mempunyai banyak metoda untuk menggambar string, garis dan berbagai bentuk bangun. Anda dapat memanggil metoda tersebut menggunakan variabel acuan g yang mengacu ke obyek kelas Graphics yang merupakan parameter dari metoda pain dan paintComponent. Berikut ini adalah tabel beberapa metode kelas Graphics di Java:

Tabel Metoda Kelas Graphics

Metoda Keterangan
drawString(String str, int x, int y) Menggambar string dengan posisi (koordinat) ditentukan oleh x dan y.
drawLine(int x1, int y2, int x2, int y2) Menggambar garis dengan titik pertama x1 dan y1 dan titik kedua x2 dan y2.
drawRect(int x, int y, int width, int height) Menggambar persegi panjang dengan sudut kiri atas ditentukan oleh x dan y serta lebar dan panjang ditentukan oleh width dan height.
fillRect(int x, int y, int width, int height) Menggambar persegi panjang berwarna dengan sudut kiri atas ditentukan oleh x dan y serta lebar dan panjang ditentukan oleh width dan height.
drawOval (int x, int y, int width, int height) Menggambar lingkaran lonjong dengan panjang dan lebar ditentukan oleh width dan height. Sudut kiri atas yang melingkar berada pada koordinat x dan y.
fillOval (int x, int y, int width, int height) Menggambar lingkaran lonjong berwarna dengan panjang dan lebar ditentukan oleh width dan height. Sudut kiri atas yang melingkar berada di koordinat x dan y.
drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) Menggambar persegi panjang yang mempunyai sudut melingkar dengan lebar dan tinggi ditentukan oleh width dan height. Sudut-sudut melingkar ditentukan oleh arcWidth dan arcHeight.
fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) Menggambar persegi panjang berwarna yang mempunyai sudut melingkar dengan lebar dan tinggi ditentukan oleh width dan height. Sudut-sudut melingkar ditentukan oleh arcWidth dan arcHeight.
draw3DRect(int x, int y, int width, int height, boolean b) Menggambar persegi panjang berdimensi tiga dengan sudut kiri atas ditentukan oleh x dan y serta lebar dan tinggi ditentukan oleh width dan height.
fill3DRect(int x, int y, int width, int height, boolean b) Menggambar persegi panjang berdimensi tiga berwarna dengan sudut kiri atas ditentukan oleh x dan y serta lebar dan tinggi ditentukan oleh width dan height.

Selain metoda tabel di atas, kelas Graphics masih memiliki beberapa metoda untuk menggambar bentuk-bentuk lain. Metoda dimaksud adalah drawArc, fillArc, drawPolygon, fillPolygon, drawPolyline.

Anda dapat menggambar berbagai bentuk bangun di frame dari kelas JFrame atau di applet dari kelas JApplet dengan metoda paint(Graphics g) atau di panel dari kelas JPanel dengan metoda paintComponent(Graphics g) dengan mendefinisikan kembali metoda tersebut untuk memberitahu sistem bagaimana cara untuk menggambarnya.

Berikut ini adalah contoh program Java menggunakan metoda drawRect untuk menggambar bentuk persegi panjang dan metoda fillRect untuk menggambar bentuk persegi panjang yang diberi warna latar (background color) dengan obyek frame dari kelas JFrame sebagai kanvas.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Nama file : DrawingRect.java
// Mengambar rectangle di frame (JFrame)
 
// mengimpor kelas
import javax.swing.JFrame;
import java.awt.Graphics;
import java.awt.Color;
 
// deklarasi kelas
public class DrawingRect extends JFrame {
 
   // Konstruktor kelas DrawingRect
   public DrawingRect() {
 
      super("Kelas DrawingRect");
      setSize(260, 165);
      setVisible(true);
   }
 
   // Metoda paint
   public void paint(Graphics g) {
   
      // Memanggil metoda paint dari superclass
      super.paint(g);
 
      // Mengatur warna
      g.setColor(Color.RED);
      g.drawRect(20, 40, 220, 50);
 
      g.setColor(Color.BLUE);
      g.fillRect(20, 100, 220, 50);
   }
 
   // Metoda main
   public static void main(String[] args) {
      DrawingRect frame = new DrawingRect();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
}

Menggunakan kelas Graphics di Java

Baris nomor 15 adalah pernyataan memanggil konstruktor kelas JFrame yaitu konstruktor superclass dari kelas DrawingRect dan memberikan argumen string dari Kelas DrawingRect ke konstruktor superclass. Pernyataan super.paint(Graphics g) di baris nomor 24 diperlukan untuk memastikan bahwa area tinjauan dibersihkan sebelum gambar baru ditampilkan.

Di pernyataan baris nomor 27 dan 28, variabel acuan g yang mengacu ke obyek kelas Graphics berturut-turut memanggil metoda setColor dan drawRect. Parameter metoda setColor diberi argumen berupa konstanta Color.RED untuk memberi warna merah pada bentuk bangun yang digambar. Metoda yang kedua, drawRect, adalah metoda untuk menggambar bentuk bangun persegi panjang.

Di pernyataan baris nomor 30 dan 31, variabel acuan g yang mengacu ke obyek dari kelas Graphics, berturut-turut memanggil metoda setColor dan fillRect. Parameter metoda setColor diberi argumen berupa konstanta Color.BLUE untuk memberi warna biru pada bentuk bangun yang digambar. Metoda kedua, fillRect, adalah metoda untuk menggambar bentuk bangun persegi panjang dengan warna latar biru.