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