MASIGNASUKAv101
4551133496077351792

Cara Membuat jPanel Pada Komponen Swing di Java

Cara Membuat jPanel Pada Komponen Swing di Java
Add Comments
Tuesday, 11 August 2015
jPanel merupakan salah satu komponen swing yang berfungsi untuk mengatur tata letak dari komponen lainnya. jPanel sangat berguna apabila aplikasi yang dibangun memiliki komponen seperti jLabel , jTextfield , jButton ataupun Table yang begitu banyak.

Buatlah sebuah java class , lalu beri nama class tersebut belajarPanelJSC , atau dengan penamaan anda sendiri. Ketikan kode program berikut untuk membuat frame dan panel pada text editor di netbeans.

package palette;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
 *
 * @author Java Developer
 */
public class belajarPanelJSC extends JFrame{
    JPanel panel = new JPanel();
    public belajarPanelJSC(){
        super ("Belajar jPanel Bersama JSC");
        setSize(300 , 200);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
        setLocationRelativeTo(null);
        setContentPane(panel);
        panel.setLayout(null);
        panel.setBackground(Color.decode("#58aae4"));
    }
    public static void main(String[] args) {
        new belajarPanelJSC();
    }
}

Output yang dihasilkan dari kode program di atas adalah seperti gambar berikut.
Gambar 2 - jPanel Pada Komponen Swing di Java
Gambar 1 - jPanel Komponen Swing di Java
Pada baris 19 merupakan kode untuk membuat konten pada panel.
Baris 20 adalah kode program untuk mengatur tata letak dari panel.
Baris 21 adalah kode program untuk mengatur warna pada backround panel.

Berikut saya sertakan kode program untuk membuat border pada panel.

package palette;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;<
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
/**
 *
 * @author Java Developer
 */
public class belajarPanelJSC extends JFrame{
    JPanel panelUtama = new JPanel();
    JPanel panel1 = new JPanel();
    JPanel panel2 = new JPanel();
    JPanel panel3 = new JPanel();
    JPanel panel4 = new JPanel();
    JPanel panel5 = new JPanel();
    public belajarPanelJSC(){
        JFrame frame = new JFrame("Belajar jPanel Bersama JSC");
        frame.setSize(400, 600);
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setLocationRelativeTo(null);        
        //Line Border
        frame.setContentPane(panelUtama);
        panelUtama.setBackground(Color.decode("#58aae4"));
        panelUtama.add(panel1);
        panel1.setPreferredSize(new Dimension(300, 50));
        panel1.setBackground(Color.decode("#ffffff"));
        panel1.setBorder(BorderFactory.createLineBorder(Color.black));
        //Bevel Border
        panelUtama.add(panel2);
        panel2.setPreferredSize(new Dimension(300, 50));
        panel2.setBackground(Color.decode("#eeeeee"));
        panel2.setBorder(BorderFactory.createBevelBorder( BevelBorder.RAISED, Color.decode("#f75461"), Color.decode("#f47e1d"), Color.white, Color.orange));
        //Title Border
        panelUtama.add(panel3);
        panel3.setPreferredSize(new Dimension(300, 50));
        Font fontBorder = new Font("Agency Fb", Font.BOLD, 15);
        Color warna = Color.decode("#f76773");
        panel3.setBorder(BorderFactory.createTitledBorder(null, "java-sc.blogspot.com", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, fontBorder, warna));
        //EtchedBorder
        panelUtama.add(panel4);
        panel4.setPreferredSize(new Dimension(300, 50));
        Color etColor = Color.decode("#ef404f");
        panel4.setBorder( BorderFactory.createEtchedBorder(EtchedBorder.RAISED,warna, etColor));
        //Matte Border
        panelUtama.add(panel5);
        panel5.setPreferredSize(new Dimension(300, 180));
        ImageIcon image = new ImageIcon(this.getClass().getResource("mata.png"));
        panel5.setBorder(BorderFactory.createMatteBorder(20, 20, 20, 20, image));
    }
    public static void main(String[] args) {
        new belajarPanelJSC();
    }
}
Output yang di hasilkan seperti gambar berikut.
Gambar 2 - jPanel Pada Komponen Swing di Java
Gambar 2 - jPanel Komponen Swing di Java
Penjelasannya : Line Border :
  • Baris 33  panel1.setPreferredSize(new Dimension(300, 50)); merupakan ukuran dari panel.
  • Baris 34 panel1.setBackground(Color.decode("#ffffff")); merupakan kode untuk warna background.
  • Baris 35 panel1.setBorder(BorderFactory.createLineBorder(Color.black)); merupakan kode program untuk menggunakan border garis dengan warna hitam.
Bevel Border :
  • Baris 40 panel2.setBorder(BorderFactory.createBevelBorder( BevelBorder.RAISED, Color.decode("#f75461"), Color.decode("#f47e1d"), Color.white, Color.orange)); merupakan kode program dengan parameter ( int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner). 
Title Border :
  • Baris 44 Font fontBorder = new Font("Agency Fb", Font.BOLD,15); merupakan kode program untuk font dengan parameter nama font , jenis font dan ukuran font.
  • Baris 46 panel3.setBorder(BorderFactory.createTitledBorder(null, "java-sc.blogspot.com", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, fontBorder, warna)); merupakan kode program untuk menggunakan method title border dimana dengan parameter type border, title, letak title, posisi border secara vertikal, jenis font, warna font.
Etched Border :
  • Baris 51 panel4.setBorder( BorderFactory.createEtchedBorder(EtchedBorder.RAISED,warna, etColor)); merupakan kode program untuk memanggil method etched border dan parameter jenis dan warna.
Matte Border :
  • Baris 56 panel5.setBorder(BorderFactory.createMatteBorder(20, 20, 20, 20, image)); merupakan method pemanggil matte border dengan parameter top, left, bottom, right, dan gambar/icon.
Sekian penjelasan mengenai jPanel Pada Komponen Swing di Java , saya harapkan anda dapat bereksperimen dalam mengkostumisasi jPanel di java dan dapat berbagi pengetahuan dengan berkomentar di kolom komentar.
Hady Eka Saputra

Belajarlah ketika orang lain sedang malas-malasan, dan malas-malasan lah ketika orang sudah mulai sadar untuk belajar. :v