Menggunakan kelas JPanel di Java
Kelas JPanel Java

Meletakkan beberapa komponen Java berlainan ke dalam content pane sesuai dengan susunan yang diinginkan tentu menjadi hal yang sulit, terlebih lagi bila tidak menggunakan atau menguasai IDE seperti NetBeans, Eclipse atau JCreator. Anda tidak cukup hanya mengandalkan layout manager yang tentu saja memiliki keterbatasan. Untuk mengatasi masalah ini, Anda dapat menggunakan bantuan obyek panel kelas JPanel.

Panel berfungsi sebagai container component (komponen wadah) dimana komponen Java lainnya diletakkan. Anda dapat meletakkan panel di dalam panel yang lain. Layout manager default untuk kelas JPanel adalah FlowLayout.

Baca artikel:

Anda dapat mengubah layout manager default ini dengan layout manager lain disesuaikan dengan kebutuhan. Selain sebagai komponen wadah, panel juga biasa digunakan sebagai kanvas untuk menggambar obyek berdimensi dua atau tiga seperti bujur sangkar, lingkaran, persegi panjang dan sebagainya.

Baca artikel Membuat Frame Di Java Dengan Kelas JFrame

Kelas JPanel adalah lightweight container yang dikode secara lengkap menggunakan Java dan tidak tergantung pada platform. Adapun hierarki turunan dari kelas JPanel adalah sebagai berikut:

Hierarki kelas JPanel di Java

JPanel mempunyai empat buah konstruktor untuk membuat atau mengkonstruksi obyek panel. Tabel di bawah ini adalah dua konstruktor kelas JPanel yang sering digunakan di dalam program Java:

Tabel Konstruktor Kelas JPanel

Konstruktor Keterangan
JPanel() Mengkonstruksi obyek JPanel dengan FlowLayout sebagai layout manager default
JPanel(LayoutManager layout) Mengkontruksi obyek JPanel dengan menentukan layout manager.

Berikut ini adalah contoh program Java membuat antar muka grafis (GUI) yang terdiri dari beberapa komponen Java seperti obyek dari kelas JLabel, JTextField dan JButton yang kemudian disunan sesuai dengan tata letak tertentu. Contoh program ini menggunakan obyek panel dari kelas JPanel untuk membantu penyusunan komponen agar mendapatkan hasil sesuai dengan harapan.

// Nama file : DemoPanel.java
// Mendemonstrasikan penyusunan komponen dengan bantuan panel
 
// mengimpor kelas
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Container;
 
// Deklarasi kelas
public class DemoPanel extends JFrame {
 
   public DemoPanel() {
 
      JTextField text1, text2, text3;
      JLabel label1, label2, label3;
      JButton button1, button2;
      JPanel panel1, panel2, panel3;
 
      label1 = new JLabel("Nilai Pertama");
      label2 = new JLabel("Nilai Kedua");
      label3 = new JLabel("Hasil kalkulasi");
  
      panel1 = new JPanel();
      panel1.setLayout(new GridLayout(3, 1));
      panel1.add(label1);
      panel1.add(label2);
      panel1.add(label3);
 
      text1 = new JTextField(15);
      text2 = new JTextField(15);
      text3 = new JTextField(15);
 
      panel2 = new JPanel();
      panel2.setLayout(new GridLayout(3, 1));
      panel2.add(text1);
      panel2.add(text2);
      panel2.add(text3);
 
      button1 = new JButton("Kali (x)");
      button2 = new JButton("Tambah (+)");
 
      panel3 = new JPanel();
      panel3.setLayout(new FlowLayout(FlowLayout.RIGHT));
      panel3.add(button1);
      panel3.add(button2);
 
      Container container = getContentPane();
      container.setLayout(new BorderLayout());
      container.add(panel1, BorderLayout.LINE_START);
      container.add(panel2, BorderLayout.LINE_END);
      container.add(panel3, BorderLayout.PAGE_END);
 
   }
 
   // Metoda main
   public static void main(String[] args) {
      DemoPanel frame = new DemoPanel();
      frame.setTitle("Kelas DemoPanel");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(280, 150);
      frame.setVisible(true)
   }
}
Menggunakan kelas JPanel di Java

Untuk menghasilkan antarmuka (user interface) yang baik dan sesuai keinginan, dapat digunakan panel sebagai komponen wadah pembantu. Anda terlebih dahulu perlu menentukan layout manager dari panel untuk disesuaikan dengan kebutuhan sebelum meletakkan komponen di dalamnya. Komponen dapat diletakkan dan disusun terlebih dahulu di dalam panel.

Bila memang diperlukan, obyek panel juga dapat diletakkan ke dalam obyek panel yang lain. Panel yang sudah berisi komponen Java kemudian diletakkan ke dalam content pane dari frame. Anda perlu menentukan layout manager content pane untuk mengatur penempatan panel sesuai keinginan.