KOMPONEN-KOMPONEN SWING LANJUTAN
Swing merupakan alternatif lain untuk mengimplementasikan pemprograman Window. Walaupun diimplementasikan berdasarkan kelas AWT, Swing tidak menggunakan komponen-komponen yang terdapat pada AWT, sehingga tampilan-tampilan komponen-komponen dalam Swing tidak tergantung pada sistem Window local. Dengan demikian tampila grafik dari Swing untuk semua system operasi menjadi serupa.
JComponent merupakan super kelas bagi sejumlah kelas, misalnya JComboBox, JLabel, JList dan JPanel dan lainnya. Berikut ini merupakan beberapa kelas yang terdapat dalam package javax.swing yang sering dipergunakan.
JComponent merupakan super kelas bagi sejumlah kelas, misalnya JComboBox, JLabel, JList dan JPanel dan lainnya. Berikut ini merupakan beberapa kelas yang terdapat dalam package javax.swing yang sering dipergunakan.
1. Membuat 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);
}
}
2. 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;
}
}
3. Membuat program 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();
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();
}
}
4. 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();
}
}
}
No comments:
Post a Comment