Senin, 30 Desember 2013

Nama : Iwan Perdana Harahap
MIK : 11-06


Komponen- Komponen Swing 


Dalam pertemuan kali ini saya akan  membahas komponen-komponen swing, madapun kode program dan output yang saya buat adalah sebagai berikut :

            Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.

Komponen Swing :

            Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane.

Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class.

Dalam  ranah  antarmuka  pengguna,  komponen  merupakan  bagian fundamental  di  Java.  Pada  prinsipnya,  segala  sesuatu  yang  kita  lihat  di tampilan aplikasi Java adalah suatu komponen—misalnya window, menu, dan button.
Di  sisi  lain,  container  adalah  jenis  komponen  yang  “menampung”  dan mengelola  komponen-komponen  lainnya.  Idealnya,  suatu  komponen harus diletakkan di sebuah container agar ia dapat digunakan.

Cthicon.java
import javax.swing.*;
import java.awt.*;

public class cthIcon {
        public static void main (String [] args ) {
                    JFrame myFrame = new JFrame ("contoh program awt");
                    Icon ikon = new ImageIcon("1.JPG");
                    JLabel myLabel = new JLabel ("selamat belajar java", ikon, SwingConstants.CENTER);
                    JButton myButton =new JButton ("selesai", ikon);
                    myButton .setToolTipText("ini adalah Button ");
                    myLabel.setToolTipText("ini adalah label ");
                    myFrame.setLayout(new BorderLayout());
                    myFrame.add(myLabel,"South");
                    myFrame.add(myButton,"North");
                    myFrame.setSize(500,500);
                    myFrame.setVisible(true);
                    myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }

}

Hasil Output nya :

      ContohFileJChooser
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.File;

            public class ContohJFileChooser extends JFrame {
            public static void main(String[]args) {
                        ContohJFileChooser apl = new ContohJFileChooser();
                        }
            public ContohJFileChooser() {
            setSize(400,150);

            JFileChooser jfc = new JFileChooser();
            FileFilter filterDotJava = new Akhiran(".java", "Berkas *.java");
            jfc.setFileFilter (filterDotJava);

            int hasil = jfc.showOpenDialog(this);
            if (hasil == JFileChooser.APPROVE_OPTION)
            setTitle("Tes JFileChooser.File: "+ jfc.getSelectedFile().getName());
            else
            setTitle("Tes JFileChooser.Batal memilih");

            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setVisible(true);
            }
}

class Akhiran extends FileFilter {
            private String ekstensi;
            private String keterangan;

            public Akhiran(String suffix, String deskripsi) {
                        this.ekstensi = suffix;
                        this.keterangan = deskripsi;
            }

                        public boolean accept (File f) {
                        if (f.isDirectory())
                        return true;

                        return f.getName().endsWith(ekstensi);
                        }

                        public String getDescription() {
                        return keterangan;
            }
}

Hasil Output nya : 
    
      ContohJList 
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;

class cthList extends JFrame {
            JList daftar;
            JTextArea tArea1, tArea2;
            JPanel Panel1, Panel2,Panel3, Panel4;
            JSpinner Spin;

            String daftarBunga [] = { "melati", "mawar","krisan", "kenanga", "Cempaka", "tulip","kambuja Jepara",};

            public cthList () {
                        super ("Tes JList");
                        setSize (3500,300);

                        Spin = new JSpinner();
                        Spin.setValue (new Integer(10));

                        Panel1 = new JPanel();
                        Panel2 = new JPanel();
                        Panel3 = new JPanel();
                        Panel4 = new JPanel();

                        daftar = new JList (daftarBunga);
                        daftar.setSelectedIndex(0);

                        tArea1 = new JTextArea("",3,15);
                        tArea1.setEditable(false);
                        tArea2 = new JTextArea("",3,15);
                        tArea2.setEditable(false);

                        add(Panel1,"North");
                        add(Panel2,"West");
                        add(Panel3,"East");
                        add(Panel4,"South");
                        Panel1.add(daftar);
                        Panel2.add(tArea1);
                        Panel3.add(tArea2);
                        Panel4.add(Spin);

                        setDefaultCloseOperation(3);
                        setVisible(true);
                        daftar.addListSelectionListener( new ListSelectionListener() {
                                    public void valueChanged (ListSelectionEvent e ) {
                                                tArea1.setText("yang di pilih : \n"+daftar.getSelectedValue());
                                    }
                        }
                        );

                        Spin.addChangeListener(new ChangeListener() {
                                    public void stateChanged(ChangeEvent e ) {
                                                tArea2.setText("nilai : \n" +Spin.getValue());
                                    }
                        }
                        );
            }
}

public class program1 {
            public static void main (String [] args) {
                        cthList apl = new cthList ();
            }
}

Hasil Output nya : 

     ContohJProgressBar
import javax.swing.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class CthProgressBar extends JFrame implements ActionListener {
            public final static int SELANG_WAKTU_TUNGGU = 1;
            public final static int MAKS =  1000;

            JProgressBar pb;
            JButton b;
            Timer   timer;
            int posisi = 0;

            public CthJProgressBar () {
                        super ("tes JProgressBar");
                        setSize (300,120);

                        pb = new JProgressBar (0, MAKS);
                        b = new JButton ("Mulai");

                        JPanel p = new JPanel ();
                        p.add(b);

                        setLayout (new BorderLayout());
                        add("North",p);
                        add("South",pb);

                        //-- set timer
                        timer = new Timer (SELANG_WAKTU_TUNGGU,  new ActionListener(){
                                    public void actionPerformed(ActionEvent evt) {
                                                posisi++;
                                                pb.setValue(posisi);
                                                if (posisi == MAKS ) {
                                                            timer.stop();
                                                            b.setText ("mulai");
                                                }
                                    }
                        });

                        b.addActionListener(this);
                        setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
                        setVisible(true);
            }

            public void actionPerformed (ActionEvent e ) {
                        String s = e.getActionCommand();
                        if (s.equals("mulai")){
                                    b.setText("Stop");
                                    posisi = 0;
                                    pb.setValue(posisi);
                                    timer.start();
                        }
                        else {
                        b.setText ("mulai");
                        timer.stop();
                        }
            }


public class ContohJProgressBar {
            public static void main (String[] args) {
                        CthJProgressBar apl = new CthJProgressBar ();
            }
}
}


ContohJTabbedPane
import javax.swing.*;

class CthJTabbedPane extends JFrame {
            JLabel ltab1, ltab2, ltab3, ltab4;
            JTabbedPane tab;

            public CthJTabbedPane (){
                        super (" tes tabbed pane");
                        setSize (300,120);

                        tab = new JTabbedPane();

                        JPanel panel1 = new JPanel();
                        tab.addTab("satu", panel1);
                        tab.setSelectedIndex(0);
                        ltab1=new JLabel ("Tab 1");
                        panel1.add(ltab1);

                        JPanel panel2 = new JPanel();
                                                tab.addTab("dua", panel2);
                                                tab.setSelectedIndex(0);
                                                ltab2=new JLabel ("Tab 2");
                        panel2.add(ltab2);

                        JPanel panel3 = new JPanel();
                                                tab.addTab("tiga", panel3);
                                                tab.setSelectedIndex(0);
                                                ltab3=new JLabel ("Tab 3");
                        panel3.add(ltab3);

                        JPanel panel4 = new JPanel();
                                                tab.addTab("empat", panel4);
                                                tab.setSelectedIndex(0);
                                                ltab4=new JLabel ("Tab 4");
                        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 ();
            }
}

Hasil Output nya :
.      
      ContohJTable
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 Java Tabel");
                        setSize (500, 150);

                        Object [] [] data = {
                                    {"11234", " taufikin", "Direktur utama", new Long (222000000)},
                                    {"11235", " taufik ok", "Manajer", new Integer (15000000)},
                                    {"11236", " taufik Good", "pemasaran", new Long (12000000)},
                                    {"11237", " taufik Warohmat", "personalia", new Long (12000000)},
                                    {"11238", " taufik Mantab", "edp", new Long (22000000)},
                                    {"11239", " taufik Cihuy", "akunting", new Long (12000000)},
                                    {"11240", " taufik Liong", "akunting", new Long (12000000)},
                                    {"11241", " taufik Hoa", "pemasaran", new Long (12000000)},};

                                    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);
                        }
            }

Hasil Output nya :

.      ContohJTree
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);
            }
}

 Hasil Output nya :