Java Swing
22.32 | Author: Sueb Zains

PENGERTIAN JAVA SWING


Swing merupakan perbaikan kelemahan di AWT (Another Windowing Toolkit). Banyak kelas swing menyediakan komponen alternatif terhadap AWT. Contohnya kelas JButton swing menyediakan fungsionalitas lebih banyak dibanding kelas Button. Selain itu komponen swing umumnya diawali dengan huruf “J”, misalnya JButton, JTextField, JFrame, JLabel, JTextArea, JPanel, dan sebagainya. Teknologi swing menggunakan dan memperluas gagasan-gagasan AWT. Sementara, penggunaan komponen Swing ditandai dengan adanya instruksi : import javax.swing.*;


Beberapa perbedaan AWT dan Swing, AWT merupakan komponen heavyweight (kelas berat) sedangkan Swing lightweight (kelas ringan). Swing memiliki lebih banyak komponen. Fasilitas Swing Look and Feel : Metal, Windows, Motif. Komponen Swing berdasar model-view, yaitu suatu cara pengembangan komponen dengan pemisahan penyimpanan dan penanganan data dari representasi visual data.

Bahasa pemrograman Java merupakan salah satu bahasa pemrograman yang umum digunakan untuk mengembangkan aplikasi basis data yang dibuat menggunakan MySQL.

Swing   toolkit   menyediakan   banyak   sekali   komponen untuk membangun aplikasi GUI desktop. Swing toolkit juga menyediakan class-class   untuk menangani interaksi antara aplikasi dan user menggunakan   standard   input seperti keyboard dan mouse.

Komponen-komponen Swing
Komponen-komponen yang disediakan swing mencakup semua GUI toolkit yang lazim digunakan dalam apilasi desktop, seperti : JTabel,JList, JTree, JButton,   JLabel dan masih banyak komponen-komponen lainnya yang sudah teruji dan siap pakai.
Selain komponen GUI, swing juga menyediakan fasilitas untuk proses undo, komponen untuk mengolah text, internationalization,Komponen GUI yang mendukung penyandang cacat (accessibility support) dan fasilitas drag-and-drop.
Look and Feel merupakan fasilitas yang unik dalam swing. Dengan adanya fasilitas Look and Feel ini kita bisa dengan mudah merubah tampilan dari  program kita  sesuai  dengan keinginan dan  tujuan kita.  Misalnya, agar   program terlihat fancy atau agar program terlihat konsisten dalam segala keadaan.
Swing  juga menyediakan  library  Java 2D untuk pengolahan data secara visual, seperti mengolah gambar, object 2D, bahkan animasi. SwingLabs.org menyediakan libary Swing Painter yang merupakan pengembangan dari Java   2D, Swing Painter ini memungkinkan aplikasi swing mempunyai tampilan yang indah dan terlihat profesional. 
Java 6.0 menambahkan banyak sekali fitur-fitur baru ke dalam package swing,   termasuk dukungan untuk library OpenGL menggunakan JOGL, Tray Icon dan Web Service.
dukungan ini swing menjadi lebih poweful dan mempunyai masa depan yang cerah.

Struktur Komponen Swing
Secara arsitektur, Swing dibangun diatas arsitektur AWT (Abstract Windows Toolkit). AWT adalah GUI toolkit yang dikembangkan oleh Sun engineer   sebelum swing muncul.Kelemahan utama AWT adalah fleksibilitas   tampilan  GUI, seperti painting method yang masih sangat primitif.
Swing dimaksudkan untuk memperbaiki kekurangan dari AWT tanpa harus membuang teknologi yang sudah dibuat dan membuat GUI toolkit baru dari nol.
Komponen AWT diletakkan dalam satu package yaitu java.awt, didalamnya   terdapat komponen-komponen GUI dasar, salah satunya adalah Component. Class Component adalah moyang dari sebagian besar komponen AWT maupun Swing. CheckBox, Label, Button dan beberapa komponen AWT lainnya adalah   turunan langsung dari class Component. Namun dalam kenyataanya arsitektur   demikian tidak memberikan fleksibilitas yang cukup memadai untuk membuat  berbagai  macam komponen baru yang dibutuhkan dalam desktop application.
Swing muncul dengan membawa teknologi AWT yang telah ditambahkan dengan banyak kemampuan. Nyaris semua komponen GUI dari swing merupakan   turunan class Container dan class Container adalah turunan dari class Component. 



Contoh Penggunaan Swing Pada Java :
Contoh 1
import javax.swing.*;
public class StringSwing{
public static void main(String args[]){     
String a ;
a = JOptionPane.showInputDialog("Masukan String :");
int panjang;
panjang = a.length();
JOptionPane.showMessageDialog(null, " Jumlah Karakternya adalah " + panjang);
System.exit(0);
}
}

 

Contoh 2
package gui;
import javax.swing.*;
public class first {
/**
* Belajar Perkenalan JAVA
* thescripts.web.id
*/
public static void main(String[] args){
// TODO Auto-generated method stub
JFrame f = new JFrame("Judul");
JPanel p = new JPanel();
JButton b = new JButton("Button");
p.add(b);               // Fungsi untuk menambahkan tombol
f.setContentPane(p);    // Fungsi menambahkan panel ke media FRAME
f.show();               // TAMPILKAN
}
}



Contoh 3
package javaapplication3;
/**
*
* @author kuro
* http://kuroartz.web.id
* http://blog.kuroartz.web.id
*
*/
import javax.swing.*;
import java.awt.event.*;
class AplikasiEvent5 extends JFrame{
JMenuBar mb=new JMenuBar();
JMenu file=new JMenu(“File” );
JMenu edit=new JMenu(“Edit” );
JMenu help=new JMenu(“Help” );
JMenuItem open=new JMenuItem(“Open” );
JMenuItem close=new JMenuItem(“Close” );
JMenuItem quit=new JMenuItem(“Quit” );
JMenuItem about=new JMenuItem(“About” );
JMenuItem copy=new JMenuItem(“Copy” );
JMenuItem paste=new JMenuItem(“Paste” );
JMenuItem cut=new JMenuItem(“Cut” );
JLabel lblnama=new JLabel(“Nama” );
JTextField txnama=new JTextField(30 );
JLabel lblnim=new JLabel(“NIM” );
JTextField txnim=new JTextField(7 );
JLabel lblkelamin=new JLabel(“Jenis Kelamin” );
JRadioButton pria=new JRadioButton(“Pria” );
JRadioButton wanita=new JRadioButton(“Wanita” );
ButtonGroup kelompok=new ButtonGroup();
JLabel lblhobi=new JLabel(“Hobi” );
JCheckBox baca=new JCheckBox(“Dugem” );
JCheckBox mancing=new JCheckBox(“Futsal” );
JCheckBox jalan=new JCheckBox(“Berantem” );
JLabel label1=new JLabel(“Nilai UTS” );
JTextField tx1=new JTextField(20 );
JLabel label2=new JLabel(“Nilai UAS” );
JTextField tx2=new JTextField(20 );
JButton cetak=new JButton(“Cetak” );
JTextArea hasil=new JTextArea();
AplikasiEvent5()
{
setTitle(“Event Sederhana” );
setLocation(300,100 );
setSize(300,420 );
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
}
void KomponenVisual()
{
setJMenuBar(mb );
mb.add(file );
mb.add(edit );
mb.add(help );
file.add(open );
file.add(close );
edit.add(copy );
edit.add(paste );
edit.add(cut );
close.setEnabled(false );
file.add(quit );
help.add(about );
setVisible(true );
getContentPane().setLayout(null );
getContentPane().add(lblnama );
lblnama.setBounds(10,10,80,20 );
getContentPane().add(txnama );
txnama.setBounds(105,10,175,20 );
getContentPane().add(lblnim );
lblnim.setBounds(10,33,80,20 );
getContentPane().add(txnim );
txnim.setBounds(105,33,70,20 );
getContentPane().add(lblkelamin );
lblkelamin.setBounds(10,56,80,20 );
kelompok.add(pria );
kelompok.add(wanita );
getContentPane().add(pria );
pria.setBounds(105,56,50,20 );
getContentPane().add(wanita );
wanita.setBounds(160,56,70,20 );
getContentPane().add(lblhobi );
lblhobi.setBounds(10,80,70,20 );
getContentPane().add(baca );
baca.setBounds(105,80,100,20 );
getContentPane().add(mancing );
mancing.setBounds(105,103,100,20 );
getContentPane().add(jalan );
jalan.setBounds(105,126,100,20 );
getContentPane().add(label1 );
label1.setBounds(10,146,80,20 );
getContentPane().add(tx1 );
tx1.setBounds(105,146,175,20 );
getContentPane().add(label2 );
label2.setBounds(10,169,80,20 );
getContentPane().add(tx2 );
tx2.setBounds(105,169,175,20 );
getContentPane().add(cetak );
cetak.setBounds(10,191,270,20 );
getContentPane().add(hasil );
hasil.setBounds(10,214,270,140 );
setVisible(true );
}
void AksiReaksi()
{
cetak.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
hasil.append(lblnama.getText() + ” : ” + txnama.getText()+”\n” );
hasil.append(lblnim.getText() + ” : ” + txnim.getText()+”\n” );
if(pria.isSelected()==true )
{
hasil.append(lblkelamin.getText() + ” : ” + pria.getText()+”\n” );
}
else
{
hasil.append(lblkelamin.getText() + ” : ” + wanita.getText()+”\n” );
}
if(baca.isSelected()==true)
{
hasil.append(lblhobi.getText() + ” : ” + baca.getText()+”\n” );
}
if(mancing.isSelected()==true)
{
hasil.append(lblhobi.getText() + ” : ” + mancing.getText()+”\n” );
}
if(jalan.isSelected()==true)
{
hasil.append(lblhobi.getText() + ” : ” + jalan.getText()+”\n” );
}
hasil.append(label1.getText() + ” : ” + tx1.getText()+”\n” );
hasil.append(label2.getText() + ” : ” + tx2.getText()+”\n” );
double a=0.0, b=0.0, c=0.0;
try {
a=Double.parseDouble(tx1.getText() );
b=Double.parseDouble(tx2.getText() );
} catch (NumberFormatException nfe){
nfe.printStackTrace();
}
JButton btn=(JButton) event.getSource();
if (btn==cetak){
c=((a+b) / 2 );
}
hasil.append(new String().valueOf(“NIlai AKhir ” + c));
}
});
}
public static void main(String args[])
{
AplikasiEvent5 e5=new AplikasiEvent5();
e5.KomponenVisual();
e5.AksiReaksi();
}
}



Output :

Semoga bermanfaat ya kawan.
This entry was posted on 22.32 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

0 komentar: