Pustaka kelas Java memiliki banyak sekali kelas terdefinisi dan dikelompokkan ke dalam paket. Kelas-kelas tersebut tersedia untuk bisa dipergunakan kembali (reusability). Anda dapat membuat sebuah kelas grafis seperti frame, check box, radio button, combo box dan sebagainya. Disinilah sebenarnya fungsi inheritance (turunan atau pewarisan) berperan. Setiap tipe obyek 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 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

// Mengimpor kelas
import javax.swing.JFrame;

// Deklarasi kelas
public class FramePertama extends JFrame {

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

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)

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

Membuat kelas turunan grafis dari kelas grafis yang lain di Java

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 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).