Swing merupakan alternatif lain untuk mengimplementasikan pemrograman window. Walaupun diimplementasikan berdasarkan kelas AWT, Swing tidak menggunakan komponen-komponen yang terdapat pada AWT, sehingga tampilan komponen dalam Swing tidak tergantung pada sistem window lokal.
Pada Swing kelas JComponent merupakan superkelas bagi sejumlah kelas, misalnya JLabel, JComboBox, JList, JPanel dan sebagainya. Swing dikemas dalam paket bernama javax.swing.
JLABEL
Merupakan komponen yang biasa digunakan untuk meampilkan teks yang pendek. Selain itu komponen ini dapat digunakan untuk menampilkan ikon ataupun untuk menampilkan ikon dan teks.
Icon adalah interface yang didefinisikan untuk mengatur ikon pada paket javax.swing. Adapun kelas yang mengimplementasikan Icon adalah ImageIcon.
Bentuk penulisan :
Icon varikon = new ImageIcon(nama file gambar)
Contoh :
// nama berkas : apsjlabel.java
import javax.swing.*;
import java.awt.event.*;
public class apsjlabel extends JFrame
{
public static void main(String[] args)
{
apsjlabel aplikasi = new apsjlabel();
}
public apsjlabel()
{
super("Aplikasi JLabel");
setSize(300,150);
addWindowListener (new apsjlabel.keluar());
Icon panda = new ImageIcon("f:/panda.gif");
JLabel t1 = new JLabel("Binatang kesayanganku : ");
JLabel t2 = new JLabel("Lucu...", panda, SwingConstants.CENTER);
JPanel p1 = new JPanel();
p1.add(t1);
p1.add(t2);
getContentPane () .add("South", p1);
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
}
Hasil :
JBUTTON
Berguna untuk membuat objek tombol yang dapat dilengkapi dengan judul tombol maupun ikon.
Contoh :
// nama berkas : apsjbutton.java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class apsjbutton extends JFrame
{
public static void main(String[] args)
{
apsjbutton aplikasi = new apsjbutton();
}
public apsjbutton()
{
super("Aplikasi JButton");
setSize(400,150);
addWindowListener (new apsjbutton.keluar());
Icon stop = new ImageIcon("f:/panda.gif");
JButton tmaks = new JButton("Perbesar");
JButton tmin = new JButton("Perkecil");
JButton tout = new JButton("Keluar",stop);
JPanel p1 = new JPanel();
p1.add(tmaks);
p1.add(tmin);
p1.add(tout);
getContentPane () .add("South", p1);
tmaks.addActionListener(new apsjbutton.penangantombol());
tmin.addActionListener(new apsjbutton.penangantombol());
tout.addActionListener(new apsjbutton.penangantombol());
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class penangantombol implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Perbesar"))
{
setSize(600,400);
}
else
if (s.equals("Perkecil"))
{
setSize(400,150);
}
else
if (s.equals("Keluar"))
{
System.exit(0);
}
}
}
}
Hasil :
BOX
Berguna untuk melakukan pengaturan terhadap sejumlah komponen.
Contoh :
// nama berkas : apsbox.java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class apsbox extends JFrame
{
public static void main(String[] args)
{
apsbox aplikasi = new apsbox();
}
public apsbox()
{
super("Aplikasi Box");
setSize(400,150);
addWindowListener (new apsbox.keluar());
Box bt1 = Box.createVerticalBox();
for (int i=1; i<=3; i++)
bt1.add(new JButton("Tombol ke-"+i));
Box bt2 = Box.createHorizontalBox();
for (int i=1; i<=3; i++)
{
bt2.add(new JButton("Tombol ke-"+i));
bt2.add(Box.createHorizontalSt rut(20));
}
Container p1 = getContentPane();
p1.add(BorderLayout.EAST, bt1);
p1.add(BorderLayout.SOUTH, bt2);
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
}
Hasil :
MENU
adalah kelas yag berguna untuk membuat batang menu yang biasa diletakkan di atas jendela dan bersifat pull down. Dalam prakteknya pembuatan batang menu melibatkan sejumlah kelas lain yaitu JMenu dan JMenuItem.
Contoh :
// nama berkas : menu.java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
public class menu extends JFrame implements ActionListener
{
public static void main(String[] args)
{
menu aplikasi = new menu();
}
public menu()
{
super("Aplikasi Menu");
setSize(300,150);
addWindowListener (new menu.keluar());
JMenuBar apsmenu = new JMenuBar();
setJMenuBar (apsmenu);
JMenu file = new JMenu("File");
JMenu warna = new JMenu("Warna");
apsmenu.add(file);
apsmenu.add(warna);
JMenuItem buka = new JMenuItem("Buka");
JMenuItem simpan = new JMenuItem("Simpan");
JMenuItem garis = new JMenuItem("-");
JMenuItem keluar = new JMenuItem("Keluar");
file.add(buka);
file.add(simpan);
file.add(garis);
file.add(keluar);
JMenu latar = new JMenu("Warna Latar Belakang");
JMenu teks = new JMenu("Warna Teks");
warna.add(latar);
warna.add(teks);
JMenuItem latarputih = new JMenuItem("Putih");
JMenuItem latarabu = new JMenuItem("Abu-abu");
latar.add(latarputih);
latar.add(latarabu);
JMenuItem tekshitam = new JMenuItem("Hitam");
JMenuItem teksbiru = new JMenuItem("Biru");
teks.add(tekshitam);
teks.add(teksbiru);
keluar.addActionListener(this) ;
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Keluar"))
{
dispose();
}
}
}
Hasil :
APPLET
Merupakan program Java yang ditujukan secara khusus agar bisa berjalan di lingkungan web browser, misalnya Internet Explorer, Netscape Navigator, Opera dan sebagainya. Applet adalah subkelas dari Panel yang terletak pada java.applet dan dilengkapi dengan fitur untuk berkomunikasi dengan host server dan bahkan berkomunikasi antar applet namun tidak dirancang untuk tidak melakukan operasi penulisan ke komputer klien karena alasan keamanan.
Contoh :
// nama berkas : applet1.java
import java.awt.*;
import java.applet.Applet;
public class applet1 extends Applet
{
public void paint(Graphics g)
{
Font f = new Font ("sanserif", Font.BOLD, 20);
g.setFont(f);
g.setColor(Color.BLUE);
int xpusat = this.getSize().width/2;
int ypusat = this.getSize().height/2;
String s = "Teks ini dibuat dengan Java Applet";
FontMetrics fm = this.getFontMetrics(f);
int posisix = xpusat - (fm.stringWidth (s) /2);
g.drawString(s, posisix, ypusat);
}
}
Kompilasi program untuk menghasilkan applet1.class kemudian buat program HTML sebagai berikut :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h3>Belajar Applet</h3>
<applet code="applet1.class" width=350 height=80></applet> <br>
-- Akhir HTML --
</body>
</html>
Jika program HTML di atas dijalankan dengan menggunakan Internet Explorer akan menghasilkan :
MELEWATKAN PARAMETER
Parameter yang berasal dari skrip HTML dapat ditangkap dengan menggunakan metode :
getParameter(String namaparameter)
dan dikirimkan ke applet Java melalui tag <param>
Contoh :
// nama berkas : applet2.java
import java.awt.*;
import java.applet.Applet;
public class applet2 extends Applet
{
String nama;
public void init()
{
nama = getParameter("nama");
if (nama == null)
nama = "Yudi Irawan Chandra";
nama = "Hai.."+nama+" , Apa Kabar ?";
}
public void paint (Graphics g)
{
g.drawString(nama,10,25);
}
}
File HTML :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h3>Belajar Applet</h3>
<applet code="applet2.class" width=350 height=30> <br>
<param name=nama value="Aditya Fajar Ramadhan">
</applet> <br>
-- Akhir HTML --
</body>
</html>
MEMAINKAN SUARA
Applet mendukung metode yang ditujukan untuk memainkan suara. Metode yang sederhana adalah dengan menggunakan : play(URL url, String namaberkas)
atau dapat juga dengan menggunakan metode getAudioClip().
Beberapa tipe suara yang dapat dimainkan adalah :
* MIDI (The Music Instrument Digital Interface)
* RMF (The Rich Music Format)
* WAV (format suara audio dari Microsoft)
* AIFF (The Audio Interchage File Format)
* AU (format suara audio dari SUN)
Contoh :
// nama berkas : musik.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;
public class musik extends Applet
{
Button main, berhenti, ulang;
AudioClip klip;
public void init()
{
klip = getAudioClip(getCodeBase(), "musik.mid");
main = new Button("Main");
berhenti = new Button("Berhenti");
ulang = new Button("Ulang");
add(main);
add(berhenti);
add(ulang);
main.addActionListener(new musik.penangantombol());
berhenti.addActionListener(new musik.penangantombol());
ulang.addActionListener(new musik.penangantombol());
}
class penangantombol implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Main")) klip.play();
else if (s.equals("Berhenti")) klip.stop();
else if (s.equals("Ulang")) klip.loop();
}
}
}
File HTML :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h3>Aplikasi Musik</h3>
<applet code="musik.class" width=250 height=30>
</applet> <br>
-- Akhir HTML --
</body>
</html>
Hasil :
MENAMPILKAN GAMBAR
Gambar dapat ditampilkan dengan kelas Image, metode paint() dan menggunakan drawImage()
Contoh :
// nama berkas : gambar.java
import java.awt.*;
import java.applet.Applet;
public class gambar extends Applet
{
Image panda;
public void init()
{
panda = getImage(getCodeBase(), "panda.gif");
}
public void paint (Graphics g)
{
g.drawImage(panda,0,0, this);
}
}
File HTML :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h>My Animation :</h3>
<applet code="gambar.class" width=100 height=100>
</applet> <br>
-- Akhir HTML --
</body>
</html>
Hasil :
No comments:
Post a Comment