Meletakkan beberapa komponen Java yang berlainan jenis ke dalam content pane sesuai dengan susunan yang diinginkan tentu akan menjadi hal yang cukup rumit. Anda tidak serta merta hanya mengandalkan pada layout manager yang tentunya memiliki keterbatasan. Untuk bisa mengatasi masalah ini, Anda dapat menggunakan obyek panel dari kelas JPanel.

Panel berfungsi sebagai container componen (komponen wadah) dimana komponen Java lainnya diletakkan. Anda juga dapat meletakkan panel di dalam panel yang lain. Layout manager default kelas JPanel adalah FlowLayout. Anda dapat merubah layout manager default ini sesuai kebutuhan. Selain sebagai komponen wadah, panel juga digunakan sebagai kanvas untuk menggambar obyek berdimensi dua atau tiga seperti bujur sangkar, lingkaran, persegi panjang dan sebagainya.

Baca artikel terkait layout di Java:

Kelas JPanel termasuk dalam lightweight container yang dikode secara lengkap menggunakan Java dan tidak tergantung panda platform berbeda. Adapun hirarki turunan kelas JPanel adalah sebagai berikut:

Hirarki kelas JPanel di Java

JPanel mempunyai empat buah konstruktor yang digunakan untuk mengkonstruksi obyek panel secara berbeda. Dua konstruktor kelas JPanel yang sering digunakan di dalam program Java untuk mengkonstruksi obyek panel adalah sebagai berikut:

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.

Contoh Program berikut ini adalah tentang membuat user interface (GUI) dengan cara meletakkan komponen Java sesuai dengan yang diharapkan. Contoh program menggunakan obyek panel untuk membantu penyusunan komponen agar mendapatkan hasil sesuai dengan yang diharapkan.

// 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 dapat menghasilkan user interface yang sesuai keinginan, dapat digunakan panel sebagai komponen wadah pembantu. Anda terlebih dahulu perlu menentukan layout manager dari panel sesuai kebutuhan sebelum meletakkan komponen di dalamnya. Komponen dapat diletakkan dan disusun terlebih dahulu di dalam panel.

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

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It

MASUKKAN EMAIL ANDA UNTUK BERLANGGANAN ARTIKEL GRATIS:

Delivered by FeedBurner