Rabu, November 20, 2013

Pengenalan Java Swing



Swing adalah sebuah widget toolkit untuk Java yang merupakan bagian dari Java Foundation Classes (JFC) dari Sun Microsystem. Swing adaah sebuah API (Application Programming Interface) yang menyediakan Graphical User Interface (GUI) untuk program Java dan applet. Swing dikembangkan untuk menyediakan komponen GUI yang lebih canggih dari komponen sebelumnya yang bernama AWT  dan bertujuan untuk mempermudah pengembangan aplikasi JAVA GUI.
AWT dan Swing keduanya menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan applet. Namun, tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan look and feel yang sama. Swing API dibangun dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya, komponen AWT dapat digunakan dengan komponen Swing.


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.
Komponen-komponen Swing dapat diklasifikasikan ke dalam tiga bagian, yaitu  top-level  container,  intermediate  container,  dan  komponen  atomic(tunggal).
1.       Container tingkat atas (top-level) berfungsi untuk menyediakan ruang bagi  komponen komponen  lainnya.  Container  jenis  ini  terdiri  dari JFrame, JWindow, JDialog, dan JApplet.
2.       Container  menengah  adalah  komponen  (non         top-level)  yang keberadaannya  untuk  menampung  komponen  lainnya,  misalnya panel, tabbed, dan tool bar. 
3.       Komponen  atomic  berfungsi  untuk  menampilkan  dan/atau  menerima informasi.  Contoh  komponen  atomic  adalah  text  field,  button,  dan label.










Berikut adalah ini adalah beberapa komponen dari swing











Contoh program untuk biodata Menggunakan Swing:


package javasswingdasar;
import java.awt.GridLayout;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JComboBox;
import javax.swing.JTextField;


public class Data {
        JFrame frBioData;
        JPanel pnlData;
        JTextField jtfNama;
        JTextField jtfAlamat;
        JTextField jtfPekerjaan;
        JTextField jtfHobby;
        JTextField jtfStatus;
        JRadioButton jrbPria;
        JComboBox Agama;
        JRadioButton jrbWanita;
       
        JButton jbnSave;
        JButton jbnClose;
       
        public Data(){
               
               
                String lama="";
                String isi[]={"","Islam","Kristen","Hindu","Budha","Other","atheis"};
                frBioData = new JFrame("Form BioData");
                frBioData.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frBioData.setSize(600, 300);
                pnlData = new JPanel();
               
               
                pnlData.setLayout(new GridLayout(9,3));
                jtfNama = new JTextField("");
                jtfAlamat = new JTextField("");
       jtfHobby = new JTextField("");
       jtfPekerjaan = new JTextField("");
       jrbPria = new JRadioButton("Pria");
                jrbWanita = new JRadioButton("Wanita" ,true);
                Agama= new JComboBox(isi);
       
               
               
                frBioData = new JFrame("Form BioData");
                frBioData.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frBioData.setSize(400, 200);
                pnlData = new JPanel();
                pnlData.setLayout(new GridLayout(11,3));
               
                jtfNama = new JTextField("");
                jtfAlamat = new JTextField("");
                jtfPekerjaan = new JTextField("");
                jtfHobby = new JTextField("");
                jtfStatus = new JTextField("");
                jrbPria = new JRadioButton("Pria");
                jrbWanita = new JRadioButton("Wanita",true);
                ButtonGroup bgjnsKel = new ButtonGroup();
                bgjnsKel.add(jrbPria);
                bgjnsKel.add(jrbWanita);
                jbnSave = new JButton("Save");
                jbnClose = new JButton("Close");
                //row 1
                pnlData.add(new JLabel(""));
                pnlData.add(new JLabel(""));
                pnlData.add(new JLabel(""));
                //row 2
                pnlData.add(new JLabel("NAMA"));
                pnlData.add(jtfNama);
                pnlData.add(new JLabel(""));
                //row 3
                pnlData.add(new JLabel("ALAMAT"));
                pnlData.add(jtfAlamat);
                pnlData.add(new JLabel(""));
                //coba
                pnlData.add(new JLabel("PEKERJAAN"));
                pnlData.add(jtfPekerjaan);
                pnlData.add(new JLabel(""));
                //coba1
                pnlData.add(new JLabel("HOBBY"));
                pnlData.add(jtfHobby);
                pnlData.add(new JLabel(""));
                //coba3
                pnlData.add(new JLabel("STATUS"));
                pnlData.add(jtfStatus);
                pnlData.add(new JLabel(""));
               
                //row 4
                pnlData.add(new JLabel("Jenis Kelamin"));
                pnlData.add(jrbPria);
                pnlData.add(jrbWanita);
                //coba
                pnlData.add(new JLabel("AGAMA"));
                pnlData.add(Agama);
               
               
                //row 5
                pnlData.add(new JLabel(""));
                pnlData.add(new JLabel(""));
                pnlData.add(jbnSave);
                //coba4
                pnlData.add(new JLabel(""));
                pnlData.add(new JLabel(""));
                pnlData.add(jbnClose);
                //row 6
                pnlData.add(new JLabel(""));
                pnlData.add(new JLabel(""));
                pnlData.add(new JLabel(""));
               
               
               
                frBioData.add(pnlData);
               
               
                }
       
        public static void main(String[] args){
                Data formData = new Data();
                formData.frBioData.setVisible(true);
        }
       


}


Hasil Runing


Tidak ada komentar:

Posting Komentar