Komponen Swing
Swing toolkit menyediakan banyak sekali komponen
untuk membangun aplikasiGUI desktop. Swing toolkit juga menyediakan
class-class untuk menangani interaksi antaraaplikasi dan user menggunakan standard input seperti keyboard dan
mouse. Komponen-komponen yang disediakan swing
mencakup semua GUI toolkit yang lazim digunakandalam apilasi desktop, seperti : JTabel, JList, JTree, JButton,
JLabel dan masih banyak komponenkomponen 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 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 inimemungkinkan
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 WebService. Dengan adanya dukungan ini
swing menjadi lebih poweful dan mempunyai masa depan yang cerah.
Bekerja dengan JLabel,
JTextField dan JButton
Bekerja
dengan komponen swing menggunakan Matisse sangat menyenangkan danmudah. GroupLayout yang sangat fleksibel
memungkinkan kita untuk membuat aplikasidengan tampilan seperti yang kita
harapkan.Label, textfield dan tombol adalah komponen-komponen dasar yang selalu adadalam setiap aplikasi berbasis desktop. Ketiga komponen ini mempunyai fungsi yangsangat sederhana, textfield menyimpan data
berbentuk text (string) yang relatif pendek ,label banyak
digunakan untuk memberikan keterangan penjelas terhadapkomponen lain dantombol
digunakan user untuk menjalankan satu instruksi
tertentu.
A. Membat Program contoh dari JLabel dan
JButton menggunakan icon dan Tool Tip
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("0002.GIF");
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 :
B. Membuat Program menggunakan JFileChooser
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
:
C. Membuat rogram dengan menggunakan
JTextArea, JList dan JSpinner
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",
"Kamboja
Jepang" };
public cthList() {
super("Tes JList");
setSize(350,300);
Spin = new JSpinner();
Spin.setValue(new Integer(10));
Panel1 = new JPanel();
Panel2 = new JPanel();
Panel3 = new JPanel();
Panel4 = 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);
setLayout(new
BorderLayout());
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 terpilih :
\n"
+daftar.getSelectedValue());
}
}
);
Spin.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
tArea2.setText("Nilai :
\n" +Spin.getValue());
}
}
);
}
}
public class ContohJList {
public static void main (String [] args) {
cthList apl = new cthList();
}
}
Hasil :
D. Membuat program dengan menggunakan
JProgressBar
import javax.swing.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class CthJProgressBar 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();
}
}
Hasil :
E. Membuat program dengan menggunakan
JTabbedPane
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 ();
}
}
Hasil :
F. Membuat program dengan menggunakan JTabel
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 Long(1500000) },
{"11238",
"FahmiBasya", "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);
}
}
Hasil :
G. Membuat program dengan menggunakan JTree
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
JTable");
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 :
terima kasih postingannya :D
BalasHapus