Banner Java

Menggunakan Kelas Graphics Di Java

Kelas Graphics adalah kelas abstrak yang menyediakan interface grafis untuk menampilkan bentuk dan gambar di layar (screen) di platform berbeda. Ketika metoda paint(Graphics g) atau paintComponent(Graphics g) digunakan, g adalah obyek subclass konkret dari kelas abstrak Graphics. Berikut ini adalah hirarki turunan dari kelas Graphics:

Hirarki kelas Graphics

Kelas Graphics mempunyai banyak metoda yang dapat digunakan untuk menggambar string, line dan berbagai bentuk bangun. Anda dapat memanggil metoda-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 dari kelas Graphics:

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 tabel metoda di atas, kelas Graphics masih memiliki beberapa metoda untuk menggambar bentuk-bentuk lain. Metoda-metoda tersebut antara lain drawArc, fillArc, drawPolygon, fillPolygon, drawPolyline. Anda dapat memperoleh keterangan yang lengkap mengenai metoda tersebut dengan membuka dokumentasi mengenai kelas Graphics di situs resmi Java atau situs-situs lain yang mengulas materi bahasa Java.

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

Contoh program berikut ini mendemonstrasikan penggunaan metoda drawRect untuk menggambar bentuk persegi panjang dan metoda fillRect untuk menggambar bentuk persegi panjang yang diberi warna dengan obyek frame (kelas JFrame) sebagai kanvas.

// 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);
   }
}

Baris nomor 15 adalah pernyataan untuk memanggil konstruktor kelas JFrame (konstruktor superclass dari kelas DrawingRect) dan memberikan argumen string “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 baris nomor 27 dan 28, variabel acuan g yang mengacu ke obyek dari kelas Graphics, berturut-turut memanggil metoda setColor dan drawRect. Parameter metoda setColor diberi argumen berupa konstanta warna merah, Color.RED agar bentuk bangun yang digambar diberi garis warna merah. Metoda kedua yang dipanggil, drawRect, adalah metoda untuk menggambar bentuk bangun persegi panjang.

Di pernyataan baris nomor 30 dan 31, variabel acuan g yang mengacu ke obyek kelas Graphics, berturut-turut memanggil metoda setColor dan fillRect. Parameter metoda setColor diberi argumen berupa konstanta warna biru, Color.BLUE, agar bentuk bangun yang digambar diberi warna biru. Metoda kedua yang dipanggil, fillRect, adalah metoda untuk menggambar bentuk bangun persegi panjang (rectangle) yang keseluruhannya warnanya diberi warna biru.

Menggunakan kelas Graphics

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.