Contoh :
// nama berkas : testframe.javaHasil :
import java.awt.*;
public class testframe extends Frame
{
public static void main(String[] args)
{
testframe frame1 = new testframe();
}
public testframe()
{
super("Jendela Frame Saya");
setSize(300,200);
show();
}
}
Frame adalah kelas dalam paket AWT yang mewujudkan jendela dengan judul dibagian atas dan memungkinkan menu pull down dibuat. Tampilan dari frame akan berbeda jika dijalankan pada sistem operasi Windows atau Linux. Untuk menutup jendela tekan CTRL C pada jendela konsol.
KOMPONEN DALAM AWT
Segala tampilan pada sistem Window sesungguhnya didasarkan kelas Component. Pada dasarnya komponen adalah segala sesuatu yang terlihat pada jendela, misalnya teks statis, tombol, kotak cek dan sebagainya.
Komponen dapat dikelompokkan menjadi :
Hirarki dari komponen digambarkan sebagai berikut :
KOMPONEN BUTTON
Button merupakan kelas yang berguna untuk membuat tombol dalam suatu jendela.
Contoh :
Tabel nilai untuk menentukan letak panel dalam jendela :
- Container :Merupakan wadah untuk komponen-komponen yang lain, misalnya Panel.
- Canvas : Seperti halnya dunia lukisan digunakan untuk menggambar apa saja.
- Komponen antarmuka grafis : Termasuk dalam kelompok ini yaitu tombol, menu pop-up dan kotak cek.
- Komponen penyusun jendela : Termasuk dalam hal ini jendela frame dan kotak dialog
Hirarki dari komponen digambarkan sebagai berikut :
KOMPONEN BUTTON
Button merupakan kelas yang berguna untuk membuat tombol dalam suatu jendela.
Contoh :
// nama berkas : testtombol.javaHasil :
import java.awt.*;
public class testtombol extends Frame
{
public static void main(String[] args)
{
testtombol tombol1 = new testtombol();
}
public testtombol()
{
super("Tombol Saya");
setSize(300,200);
Panel paneltombol = new Panel();
paneltombol.add(new Button("Perbesar"));
paneltombol.add(new Button("Keluar"));
add("South", paneltombol);
show();
}
}
NILAI
|
KETERANGAN
|
South
|
Letak di bawah
|
West
|
Letak di kiri
atas
|
North
|
Letak di atas
|
East
|
Letak di kanan
atas
|
MENANGANI KEJADIAN
Program di atas belum menangani kejadian sama sekali misalnya ketika tombol Keluar di-klik maka aplikasi segera diakhiri.
Penanganan kejadian dapat dilakukan dengan menggunakan paket java.awt.event. Objek Window menggunakan metode bernama addWindowListener() sedangkan komponen Button menggunakan metode bernama addActionListener().
Contoh :
// nama berkas : testtombol1.java
import java.awt.*;
import java.awt.event.*;
public class testtombol1 extends Frame
{
public static void main(String[] args)
{
testtombol1 tombol1 = new testtombol1();
}
public testtombol1()
{
super("Tombol Saya");
setSize(300,200);
Button tombolmaks = new Button("Perbesar");
Button tombolend = new Button("Keluar");
Panel paneltombol = new Panel();
paneltombol.add(tombolmaks);
paneltombol.add(tombolend);
add("South", paneltombol);
tombolmaks.addActionListener(new testtombol1.penangantombol());
tombolend.addActionListener(new testtombol1.penangantombol());
addWindowListener(new testtombol1.penangankejadian());
show();
}
class penangankejadian 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("Keluar"))
{
System.exit(0);
}
}
}
}
FILE DIALOG
Adalah subkelas dari dialog yang menyediakan kemudahan dalam menampilkan daftar berkas yang akan dibaca ataupun berkas untuk menyimpan data.
Contoh :
Adalah subkelas dari dialog yang menyediakan kemudahan dalam menampilkan daftar berkas yang akan dibaca ataupun berkas untuk menyimpan data.
Contoh :
// nama berkas : dialog.javaHasil :
import java.awt.*;
public class dialog extends Frame
{
public static void main(String[] args)
{
dialog aplikasi = new dialog();
}
public dialog()
{
super("Form Dialog");
setSize(400,150);
FileDialog fd = new FileDialog(this, "Buka Berkas :");
fd.show();
setTitle("File yang Anda buka : "+fd.getFile());
show();
}
}
SETLAYOUT
Digunakan untuk mengatur tata letak komponen-komponen. AWT menyediakan 5 manajer dasar untuk mengelola peletakan komponen, yaitu :
LABEL
Merupakan komponen yang umum digunakan untuk menampilkan suatu string dan umumnya bersifat tidak untuk diubah.
Contoh :
TEXTFIELD
Adalah kelas yang berguna untuk menciptakan obyek yang ditujukan untuk memasukkan data satu baris.
Contoh :
TEXTAREA
Adalah kelas yang berguna untuk membuatbobjek yang dapat digunakan untuk menampilkan data teks yang terdiri atas sejumlah baris.
Contoh :
Digunakan untuk mengatur tata letak komponen-komponen. AWT menyediakan 5 manajer dasar untuk mengelola peletakan komponen, yaitu :
- FlowLayout : Melakukan pengaturan komponen dengan urutan dari kiri ke kanan dan dari atas ke bawah dengan melibatkan konstanta LEFT, RIGHT dan CENTER
- GridLayout : Menggunakan bentuk kisi-kisi dengan ukuran yang sama untuk setiap komponen
- BorderLayout : Menempatkan komponen dengan pendekatan arah mata angin
- CardLayout : Menampilkan objek-objek seperti tumpukan kartu
- GridBagLayout : Digunakan untuk meletakkan komponen secara bebas
LABEL
Merupakan komponen yang umum digunakan untuk menampilkan suatu string dan umumnya bersifat tidak untuk diubah.
Contoh :
// nama berkas : label.javaHasil :
import java.awt.*;
public class label extends Frame
{
public static void main(String[] args)
{
label aplikasi = new label();
}
public label()
{
super("Teks Label");
setSize(300,100);
Label t1 = new Label("Terimakasih", Label.LEFT);
Label t2 = new Label("Thank You", Label.CENTER);
Label t3 = new Label("Xie Xie", Label.RIGHT);
Panel plabel = new Panel();
plabel.setLayout(new GridLayout(3,1));
plabel.add(t1);
plabel.add(t2);
plabel.add(t3);
add("North", plabel);
show();
}
}
TEXTFIELD
Adalah kelas yang berguna untuk menciptakan obyek yang ditujukan untuk memasukkan data satu baris.
Contoh :
// nama berkas : textfield.javaHasil :
import java.awt.*;
import java.awt.event.*;
public class textfield extends Frame
{
Label info;
TextField f1, f2;
Button b;
public static void main(String[] args)
{
textfield aplikasi = new textfield();
}
public textfield()
{
super("Silahkan Anda Login :");
setSize(300,120);
Label t1 = new Label("Nama Pemakai :");
f1 = new TextField("", 10);
Label t2 = new Label("Password : ");
f2 = new TextField("", 10);
f2. setEchoChar('#');
b = new Button("Login");
info = new Label();
Panel p1 = new Panel();
p1.setLayout(new GridLayout(3,2));
p1.add(t1);
p1.add(f1);
p1.add(t2);
p1.add(f2);
Panel p2 = new Panel();
p2.setLayout(new GridLayout(1,2));
p2.add(b);
p2.add(info);
add("North", p1);
add("South", p2);
b.addActionListener(new textfield.penangantombol());
show();
}
class penangantombol implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Login"))
{
String nama = f1.getText();
String pin = f2.getText();
if (nama.compareTo("Aditya") == 0 && pin.compareTo("123") == 0)
info.setText("Login berhasil..!");
else
info.setText("Login gagal...!");
}
}
}
}
TEXTAREA
Adalah kelas yang berguna untuk membuatbobjek yang dapat digunakan untuk menampilkan data teks yang terdiri atas sejumlah baris.
Contoh :
// nama berkas : teksarea.javaHasil :
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class teksarea extends Frame
{
TextArea tarea;
Button bsimpan, bmuat, bhapus;
String namaberkas = "Tarea.out";
public static void main(String[] args)
{
teksarea aplikasi = new teksarea();
}
public teksarea()
{
super("Aplikasi TextArea");
setSize(350,150);
tarea = new TextArea("Ketik teks disini...",5,30);
bsimpan = new Button("Simpan");
bmuat = new Button("Muat");
bhapus = new Button("Hapus");
Panel p1 = new Panel();
p1.add(tarea);
Panel p2 = new Panel();
p2.setLayout(new GridLayout(3,1));
p2.add(bsimpan);
p2.add(bmuat);
p2.add(bhapus);
add("West", p1);
add("East", p2);
bsimpan.addActionListener(new teksarea.penangantombol());
bmuat.addActionListener(new teksarea.penangantombol());
bhapus.addActionListener(new teksarea.penangantombol());
show();
}
class penangantombol implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Simpan"))
{
try {
FileWriter keluaran = new FileWriter(namaberkas);
String isiteks = tarea.getText();
keluaran.write(isiteks);
keluaran.flush();
keluaran.close();
}
catch (IOException i)
{
System.err.println("Gagal menyimpan berkas...!");
System.exit(1);
}
tarea.setText ("Teks telah disimpan...");
}
else if (s.equals("Muat"))
{
try {
FileReader masukan = new FileReader(namaberkas);
BufferedReader streamMasukan = new BufferedReader(masukan);
String teks="";
while(true)
{
String data = streamMasukan.readLine();
if (data == null) break;
teks = teks+data+'\n';
}
masukan.close();
tarea.setText(teks);
}
catch (IOException i)
{
tarea.setText("Berkas tidak dapat dibaca...");
}
}
else if(s.equals("Hapus"))
{
tarea.setText("");
}
}
}
}
CHECKBOX
Adalah komponen yang biasa digunakan untuk
memilih salah satu pilihan diantara dua kemungkinan.
Contoh :
// nama berkas : kotakcek.javaHasil :
import java.awt.*;
import java.awt.event.*;
public class kotakcek extends Frame
{
Checkbox cb1, cb2, cb3;
TextArea tarea;
public static void main(String[] args)
{
kotakcek aplikasi = new kotakcek();
}
public kotakcek()
{
super("Aplikasi Checkbox");
setSize(400,120);
cb1 = new Checkbox("Java");
cb2 = new Checkbox("C++");
cb3 = new Checkbox("PHP");
tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);
Panel p1 = new Panel();
p1.setLayout (new GridLayout(3,1));
p1.add(cb1);
p1.add(cb2);
p1.add(cb3);
Panel p2 = new Panel();
p2.add(tarea);
add("West", p1);
add("East", p2);
cb1.addItemListener(new kotakcek.penanganitem());
cb2.addItemListener(new kotakcek.penanganitem());
cb3.addItemListener(new kotakcek.penanganitem());
show();
}
public void cetak()
{
String scb1, scb2, scb3;
scb1 = "Pilihan Java : "+cb1.getState();
scb2 = "Pilihan C++ : "+cb2.getState();
scb3 = "Pilihan PHP : "+cb3.getState();
tarea.setText(scb1+"\n"+scb2+"\n"+scb3);
}
class penanganitem implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
Object o = e.getItem();
if (o.equals("Java"))
cetak();
else if (o.equals("C++"))
cetak();
else if (o.equals("PHP"))
cetak();
}
}
}
CHECKBOX GROUP
Adalah wadah yang mengelompokkan sejumlah
kotak cek yang mempunyai sifat hanya satu kotak cek dalam keadaan terpilih atau
dalam lingkungan Windows dikenal dengan isitilah radio button
Contoh :
// nama berkas : cbgrup.java
import java.awt.*;
import java.awt.event.*;
public class cbgrup extends Frame
{
Checkbox cb1, cb2, cb3;
CheckboxGroup cbg;
TextArea tarea;
public static void main(String[] args)
{
cbgrup aplikasi = new cbgrup();
}
public cbgrup()
{
super("Aplikasi CheckboxGroup");
setSize(450,120);
addWindowListener (new cbgrup.keluar());
Label teks1 = new Label("Pilih Jurusan Kuliah :");
cbg = new CheckboxGroup();
cb1 = new Checkbox("Sistem Informasi", cbg, true);
cb2 = new Checkbox("Teknik Informatika", cbg, false);
cb3 = new Checkbox("Manajemen Informatika", cbg, false);
tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);
Panel p1 = new Panel();
p1.setLayout (new GridLayout(4,1));
p1.add(teks1);
p1.add(cb1);
p1.add(cb2);
p1.add(cb3);
Panel p2 = new Panel();
p2.add(tarea);
add("West", p1);
add("East", p2);
cb1.addItemListener(new cbgrup.penanganitem());
cb2.addItemListener(new cbgrup.penanganitem());
cb3.addItemListener(new cbgrup.penanganitem());
show();
}
public void cetak()
{
tarea.setText("Anda memilih jurusan : \n"+cbg.getSelectedCheckbox().getLabel());
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class penanganitem implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
Object o = e.getItem();
if (o.equals("Sistem Informasi"))
cetak();
else if (o.equals("Teknik Informatika"))
cetak();
else if (o.equals("Manajemen Informatika"))
cetak();
}
}
}
Hasil :
CHOICE
Merupakan salah satu kelas yang
memungkinkan untuk membuat objek yang digunakan untuk memilih sebuah pilihan
berdasarkan sejumlah pilihan dengan mekanisme pop-up atau dalam lingkungan
Windows dikenal dengan istilah combo box
Contoh :
// nama berkas : kombo.java
import java.awt.*;
import java.awt.event.*;
public class kombo extends Frame
{
Choice pilih;
CheckboxGroup cbg;
TextArea tarea;
public static void main(String[] args)
{
kombo aplikasi = new kombo();
}
public kombo()
{
super("Aplikasi Choice");
setSize(400,120);
addWindowListener (new kombo.keluar());
Label teks1 = new Label("Pilih Jurusan Kuliah :");
pilih = new Choice();
pilih.add("Sistem Informasi");
pilih.add("Manajemen Informatika");
pilih.add("Teknik Informatika");
pilih.add("Teknik Komputer");
pilih.addItemListener(new kombo.penanganitem());
tarea = new TextArea("",3,40, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);
Panel p1 = new Panel();
p1.setLayout(new GridLayout(1,1));
p1.add(teks1);
p1.add(pilih);
Panel p2 = new Panel();
p2.setLayout(new GridLayout(1,1));
p2.add(tarea);
add("West", p1);
add("South", p2);
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class penanganitem implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
tarea.setText("Anda Memilih Jurusan : \n"+ pilih.getSelectedItem());
}
}
}
Hasil :
LIST
Adalah kelas yang digunakan untuk membuat
objek yang menyediakan pemilihan sebuah item atau beberapa item dari sejumlah
item. Komponen yang ditampilkan dilengkapi dengan penggulung.
Contoh :
// nama berkas : teslist.java
import java.awt.*;
import java.awt.event.*;
public class testlist extends Frame
{
List daftar;
TextArea tarea;
public static void main(String[] args)
{
testlist aplikasi = new testlist();
}
public testlist()
{
super("Aplikasi List");
setSize(250,250);
addWindowListener (new testlist.keluar());
Label teks1 = new Label("Pilih Jurusan Kuliah :");
daftar = new List(5,false);
daftar.add("Sistem Informasi");
daftar.add("Manajemen Informatika");
daftar.add("Teknik Informatika");
daftar.add("Teknik Komputer");
tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);
Panel p1 = new Panel();
p1.setLayout (new GridLayout(3,1));
p1.add(teks1);
p1.add(daftar);
p1.add(tarea);
add("West", p1);
daftar.addItemListener(new testlist.penanganitem());
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class penanganitem implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
tarea.setText("Anda memilih jurusan :\n "+daftar.getSelectedItem());
}
}
}
Hasil :
Jika program dapat memilih lebih dari satu
item, maka ubah perintah daftar = new List(6,false) menjadi TRUE dan getSelectedItem()
menjadi getSelectedItems().
SCROLLBAR
Adalah kelas yang bermanfaat untuk membuat
batang penggulung.
Contoh :
// nama berkas : scroll.java
import java.awt.*;
import java.awt.event.*;
public class scroll extends Frame
{
Scrollbar sb1, sb2, sb3;
TextArea tarea;
public static void main(String[] args)
{
scroll aplikasi = new scroll();
}
public scroll()
{
super("Aplikasi ScrollBar");
setSize(400,200);
addWindowListener (new scroll.keluar());
sb1 = new Scrollbar(Scrollbar.VERTICAL,0,0,0,10);
sb2 = new Scrollbar(Scrollbar.HORIZONTAL,0,0,0,10);
sb3 = new Scrollbar(Scrollbar.HORIZONTAL,0,0,0,10);
Label t1 = new Label("Volume");
Label t2 = new Label("Bass");
Label t3 = new Label("Treble");
Label t4 = new Label("Hasil pilihan anda : ");
tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);
Panel p1 = new Panel();
p1.add(t1);
p1.add(sb1);
p1.add(t2);
p1.add(sb2);
p1.add(t3);
p1.add(sb3);
Panel p2 = new Panel();
p2.setLayout (new GridLayout(2,1));
p2.add(t4);
p2.add(tarea);
add("North", p1);
add("South", p2);
sb1.addAdjustmentListener(new scroll.atur());
sb2.addAdjustmentListener(new scroll.atur());
sb3.addAdjustmentListener(new scroll.atur());
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
class atur implements AdjustmentListener
{
public void adjustmentValueChanged(AdjustmentEvent e)
{
String hasil = "Volume : "+sb1.getValue() +"\n"+
"Bass : "+sb2.getValue() +"\n"+
"Treble : "+sb3.getValue();
tarea.setText(hasil);
}
}
}
Hasil :
Sekian Artikel Tentang Membuat Window Atau Frame Menggunakan Program Java.