BLANTERORBITv102

    Cara Membuat jPanel Pada Komponen Swing di Java

    Selasa, 11 Agustus 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.

    Terimakasih sudah berkesempatan untuk menimba ilmu dari blog JSC, semoga ilmu yang di share dapat bermanfaat. Jika ada pertanyaan mengenai ilmu yang terkait ataupun tidak, mari kita berdiskusi di dalam kolom komentar ini.

    Keep Learning and Keep Sharing