Banner Java

Membuat Kelas Turunan Grafis Dari Kelas Grafis Yang Lain

Pustaka kelas Java memiliki banyak sekali kelas yang sudah terdefinisi dan dikelompokkan ke dalam paket. Kelas-kelas tersebut memang tersedia untuk bisa dipergunakan kembali (reusability). Anda dapat membuat sebuah kelas perpenampilan grafis seperti frame, check box, radio button, combo box dan sebagainya. Disinilah sebenarnya fungsi dari inheritance (turunan atau pewarisan) berperan. Setiap tipe obyek berpenampilan grafis atau GUI (Graphical User Interface) telah didefinisikan dalam suatu kelas di Java seperti kelas JFrame, JButtom, JTextField, JComboBox, JRadioButtom dan sebagainya. Kelas-kelas tersebut dan kelas-kelas grafis yang lain terdapat di paket javax.swing.

Dua contoh program berikut ini saling terkait dan memberikan gambaran kepada Anda bagaimana membuat kelas turunan berpenampilan grafis dari kelas Java lain yang juga berpenampilan grafis. Kelas grafis FramePertama adalah kelas turunan dari kelas JFrame. Kelas JFrame sebenarnya merupakan wadah (container class) dimana obyek dari kelas berpenampilan grafis lain (seperti JButtom, JTextField, JComboBox, JListBox, JRadioButtom, JCheckBox dan sebagainya) diletakkan.

// Nama file : FramePertama.java
// subclass yang merupakan turunan dari JFrame

// Meletakkan kelas ke paket
package gui;

// Mengimpor kelas
import javax.swing.JFrame;

// Deklarasi kelas
public class FramePertama extends JFrame {

   // Konstruktor tanpa argumen
   public FramePertama() {
      super();
   }
}

Kode sumber (berekstensi .java) kelas FramePertama terletak di direktori c:\filejava\javaapp\sumber\gui, sedangkan file hasil kompilasi (berekstensi .class) terletak di direktori c:\filejava\javaapp\kelas\gui. Kelas FramePertama merupakan kelas yang diturunkan (derived) dari kelas JFrame dan akan mewarisi metoda terakses (accessible methods) baik dari kelas JFrame itu sendiri maupun dari superclass berlapis lain darimana kelas JFrame diturunkan. Beberapa metoda yang diturunkan dan sering digunakan adalah setTitle, setSize, setLocation, setVisible dan setDefaultCloseOperation.

Untuk mendemonstrasikan dan menguji kelas FramePertama yang merupakan turunan dari kelas JFrame, Anda dapat membuat kelas main DemoFramePertama. Berikut ini adalah kode program dan hasil kompilasi kelas DemoFramePertama:

// Nama file : DemoFramePertama.java
// Membuat obyek berpenampilan grafis (frame)

// Mengimpor kelas
import gui.FramePertama;

// Deklarasi kelas DemoFramePertama
public class DemoFramePertama {

   // Metoda main
   public static void main(String[ ] args) {

      // Membuat obyek dari kelas FramePertama
      FramePertama jendela = new FramePertama();

      // Mengatur properti jendela
      jendela.setTitle("Jendela Pertama");
      jendela.setSize(250, 200);
      jendela.setLocation(200, 150);
      jendela.setVisible(true);
      jendela.setDefaultCloseOperation(FramePertama.EXIT_ON_CLOSE);
   }
}

Kelas FramePertama merupakan turunan yang mewarisi data field dan metoda dari kelas JFrame. Metoda-metoda yang diwarisi dari kelas JFrame belum tentu metoda yang dideklarasikan di kelas JFrame, mungkin saja sebagian merupakan metoda yang berasal dari beberapa superclass berlapis dari kelas JFrame. Setelah obyek dari kelas FramePertama dibuat dan acuan ke obyek tersebut diberikan ke variabel acuan jendela, maka metoda instan (instance method) dapat dipanggil melalui variabel jendela.

Untuk dapat menutup jendela frame dengan mengklik ikon close di sudut kanan atas, Anda perlu menggunakan metoda setDefaultCloseOperation(int operation) dari kelas JFrame dan memberi argumen untuk parameter operation berupa konstanta statik dengan tipe data integer yaitu EXIT_ON_CLOSE. Kelas FramePertama adalah turunan langsung dari kelas JFrame. Anda dapat menggunakan variabel acuan ke obyek (variabel jendela) maupun nama kelas (kelas FramePertama) untuk mengacu (mengakses) konstanta statik. Anda dianjurkan agar menggunakan nama kelas untuk mengacu ke static member (konstata, data field serta metoda dengan modifier statik).

Baca artikel terkait lainnya:

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.