Kamis, 12 Desember 2019

SWING LANJUTAN, PRAKTIKUM


KOMPONEN SWING LANJUTAN 2

Swing merupakan alternatif lain untuk mengimplementasikan pemprograman Window. Walaupun diimplementasikan berdasarkan kelas AWT, Swing tidamenggunakan  komponen-komponen  yang  terdapat  pada  AWT,  sehingga tampilan-tampilan komponen-komponen dalam Swing tidak tergantung pada sistem Window local. Dengan demikian tampilan grafik dari Swing untuk semua system operasi menjadi serupa.
JComponent  merupakan  super  kelas  bagi  sejumlah  kelas,  misalnya  JComboBox, JLabel, JList dan JPanel dan lainnya. Berikut ini merupakan beberapa kelas yang terdapat dalam package javax.swing yang sering dipergunakan.

A.           Membuat Program Dengan Menggunakan JTabbedPane
Pada program ini kita membuat kelas JTabbedPane. Kelas JTabbedPane digunakan untuk beralih diantara sekelompok komponen dengan mengklik tab dengan judul atau ikon yang diberikan.
Kode Program
import javax.swing.*;
class CthJTabbedPane extends JFrame {
    JLabel lTab1 , lTab2 , lTab3 ,lTab4 ;
    JTabbedPane tab;

    public CthJTabbedPane(){
        super("Tes JTabbedPane");
        setSize(300, 120);
        tab = new JTabbedPane();
        JPanel panel1 = new JPanel();
        tab.addTab("Satu", panel1);
        tab.setSelectedIndex(0);
        lTab1 = new JLabel("Tab Satu");
        panel1.add(lTab1);
        JPanel panel2 = new JPanel();
        tab.addTab("Dua", panel2);
        lTab2 = new JLabel("Tab Dua");
        panel2.add(lTab2);
        JPanel panel3 = new JPanel();
        tab.addTab("Tiga", panel3);
        lTab3 = new JLabel("Tab Tiga");
        panel3.add(lTab3);
        JPanel panel4 = new JPanel();
        tab.addTab("Empat", panel4);
        lTab4 = new JLabel("Tab Empat");
        panel4.add(lTab4);
        add(tab);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
}

public class ContohJTabbedPane {
    public static void main(String[] args) {
        CthJTabbedPane apl = new CthJTabbedPane();
    }
}
Simpan dengan nama ContohJTabbedPane.java selanjutnya :
1.        CTRL+1 untuk mengkompile program java
2.        CTRL+2 untuk menjalankan program

Hasil Output Program
Apabila tab “Satu” diklik maka akan muncul teks label “Tab Satu”.

Apabila tab “Dua” diklik maka akan muncul teks label “Tab Dua”.
begitu selanjutnya apabila kita mengkilk setiap tab-tab nya. 

B.            Membuat Program Menggunakan JTable
Pada program ini kita membuat kelas JTable. Kelas JTable adalah bagian dari paket java swing yang pada umumnya digunakan untuk menampilkan atau mengedit data yang memiliki baris dan kolom.
Kode Program
import javax.swing.*;
import java.awt.*;

public class ContohJTable extends JFrame {
    public static void main(String[] args){
        ContohJTable apl = new
        ContohJTable();
    }

    public ContohJTable(){
    super("Tes JTable");
    setSize(500, 150);
    Object[][] data = { {"11234", "Asti Damayanti", "Akunting", new Long(2200000)},
                        {"11235", "Eritria", "Pemasaran", new Long(1200000)},
                        {"11236", "Satria", "Personalia", new Long(1200000)},
                        {"11237", "Tri Setyowati","EDP", new Integer(1500000)},
                        {"11238", "Fahmi Basya", "Akunting", new Long(1250000)},
                        {"11239", "Suadi Marwan", "Akunting", new Long(1000000)},
                        {"11240", "Rani Ardini", "Pemasaran", new Long(1100000)},
                        {"11241", "Listya", "Pemasaran", new Long(1100000)},};

    String[] judulKolom = {"NIP", "Nama", "Bagian", "Gaji"};
        JTable tabel = new JTable(data, judulKolom);
        JScrollPane scrollPane = new JScrollPane(tabel);
        add(scrollPane);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
}
Simpan dengan nama ContohJTabel.java selanjutnya :
1.        CTRL+1 untuk mengkompile program java
2.        CTRL+2 untuk menjalankan program

Hasil Output Program
Berikut ini tampilan program Jtable.Java yang terdiri dari 4 field yaitu NIP, Nama, Bagian dan Gaji yang sudah terisi record.

C.           Membuat Program Menggunakan JTree
Kelas JTree digunakan untuk menampilkan data struktur pohon atau data hierarki. JTree merupakan komponen yang kompleks yang memiliki “root node” paling atas yang merupakan induk untuk semua node di pohon.
Kode Program
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;

public class ContohJTree extends JFrame {
    public static void main(String[] args) {
        ContohJTree apl = new ContohJTree();
    }
        public ContohJTree() {
            super("Tes JTree");
            setSize(400, 400);

            // --- Buat akar - Level 0
            DefaultMutableTreeNode akar = new DefaultMutableTreeNode("Benua");

            // --- Level 1
            DefaultMutableTreeNode afrika = new DefaultMutableTreeNode("Afrika");
            DefaultMutableTreeNode asia = new DefaultMutableTreeNode("Asia");
            DefaultMutableTreeNode amerika = new DefaultMutableTreeNode("Amerika");
            DefaultMutableTreeNode eropa = new DefaultMutableTreeNode("Eropa");

            // --- Level 2
            DefaultMutableTreeNode mesir = new DefaultMutableTreeNode("Mesir");
            DefaultMutableTreeNode libya = new DefaultMutableTreeNode("Libya");
            DefaultMutableTreeNode indonesia = new DefaultMutableTreeNode("Indonesia");
            DefaultMutableTreeNode jepang = new DefaultMutableTreeNode("Jepang");
            DefaultMutableTreeNode malaysia = new DefaultMutableTreeNode("Malaysia");

            DefaultMutableTreeNode kanada = new DefaultMutableTreeNode("Kanada");
            DefaultMutableTreeNode peru = new DefaultMutableTreeNode("Peru");
            DefaultMutableTreeNode bolivia = new DefaultMutableTreeNode("Bolivia");
            DefaultMutableTreeNode brazilia = new DefaultMutableTreeNode("Brazilia");

            DefaultMutableTreeNode austria = new DefaultMutableTreeNode("Austria");
            DefaultMutableTreeNode jerman = new DefaultMutableTreeNode("Jerman");

            // --- Membuat JTree
            JTree struktur = new JTree(akar);
            add(struktur);
            akar.add(afrika);
            akar.add(asia);
            akar.add(amerika);
            akar.add(eropa);
            afrika.add(mesir);
            afrika.add(libya);
            asia.add(indonesia);
            asia.add(jepang);
            asia.add(malaysia);
            amerika.add(kanada);
            amerika.add(peru);
            amerika.add(bolivia);
            amerika.add(brazilia);
            eropa.add(austria);
            eropa.add(jerman);

            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            // --- Tampilkan frame

            setVisible(true);

        }
}
Simpan dengan nama ContohJTree.java selanjutnya :
1.        CTRL+1 untuk mengkompile program java
2.        CTRL+2 untuk menjalankan program

Hasil Output Program
Berikut ini tampilan program JTree yang dibuat. Folder Benua merupakan root node atau induk node paling atas. Folder Afrika, Asia, Amerika dan Eropa adalah child node atau komponen node dibawah node root. Dan nama Negara pada setiap folder Nama Benua merupakan komponen node dibawah child node.









D.           Membuat Program Menggunakan JMenu

Kode Program
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

class CobaMenu extends JFrame {
    JMenuBar menuBar;
    JMenu file, warna,wbackground;
    JMenuItem exit,hitam, biru;
    JTextArea wb = new JTextArea();

public CobaMenu() {
    setTitle("Menu");
    setSize(200,200);
    file = new JMenu("File");
    file.setMnemonic('F');
    warna = new JMenu("Warna");
    warna.setMnemonic('W');
    wbackground = new JMenu("Warna Background");
    wbackground.setMnemonic('B');
    exit = new JMenuItem("Exit");
    exit.setMnemonic('X');
    hitam = new JMenuItem("Hitam");
    hitam.setMnemonic('H');
    biru= new JMenuItem("Biru");
    biru.setMnemonic('B');


    menuBar = new JMenuBar();
    setJMenuBar(menuBar);
    menuBar.add(file);
    file.add(exit);
    menuBar.add(warna);
    warna.add(wbackground);
    wbackground.add(hitam);
    wbackground.add(biru);

    setLayout(null);
    add(wb);
    wb.setBounds(10, 10, 185, 25);

    exit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    });

    hitam.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            wb.setBackground (Color.black);
        }
    });

    biru.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            wb.setBackground(Color.blue);
        }
    });


    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);
    setSize(250,200);
    }
}

public class TugasJMenu {
    public static void main(String [] neno) {
        CobaMenu m = new CobaMenu();
    }
}
Simpan dengan nama TugasMenu.java  selanjutnya :
1.        CTRL+1 untuk mengkompile program java
2.        CTRL+2 untuk menjalankan program

Hasil Output Program
Tampilan program yang kita buat terdapat menu file dan warna.
Jika menu file diklik terdapat menu item exit untuk menutup/keluar dari tampilan program program.


Jika menu warna  diklik terdapat item menu warna background dan pada sub menu item menu hitam dan biru.

Jika sub menu item Hitam diklik maka warna background pada Textarea berwarna hitam.

terimkasih