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