Awt
Awt
Java menyediakan API untuk membuat aplikasi berbasis grafis atau yang lebih
dikenal dengan Graphical User Interface (GUI). Ada dua package untuk membuat
GUI yaitu AWT (Abstract Windowing Toolkit) dan Swing. Dengan package ini
Anda dapat membuat sebuah aplikasi grafis yang sangat menarik.
AWT memiliki beberapa komponen untuk aplikasi GUI yaitu button, canvas,
checkbox, choice, label, list, scroolbar, textfield, dan text area. Setiap komponen
ini memiliki fungsi dan cara pembuatan yang berbeda-beda.
Button
Button adalah tombol dengan label teks dan akan merespon event ketika
pengguna menekan atau mengklik tombol tersebut. Pada komponen ini, selain dapat
mengatur label teks, Anda juga dapat mengatur jenis teks, warna tombol, warna teks,
dan keaktifan dari tombol tersebut.
Pada contoh berikut ini, kita akan membuat beberapa tombol dengan berbagai
warna dan keaktifan dari tombol-tombol tersebut. Untuk lebih jalasnya, perhatikan
komentar yang ada pada listing program.
/**
* Methode tombol
* Keterangan : Konstruktor
*/
public tombol() {
// Layout Komponen
this.setLayout(new FlowLayout());
// Menambahkan tombol pada Frame
this.add(bAktif, null);
this.add(bTdkAktif, null);
this.add(bWarna, null);
// Menuliskan Teks pada Tombol
bAktif.setLabel("Tombol Aktif");
bTdkAktif.setLabel("Tombol Tidak Aktif");
// Non-aktifkan tombol
bTdkAktif.setEnabled(false);
// Mengatur warna tombol
bWarna.setBackground(Color.red);
// Mengatur jenis teks pada tombol
bWarna.setFont(new Font("Monospaced", 1, 11));
// Mengatur warna teks pada tombol
bWarna.setForeground(Color.yellow);
} // Akhir methode tombol
/**
* Methode main
* Keterangan : Proses pertama kali program dijalankan
* @param args :
*/
public static void main(String[] args) {
tombol tmbl = new tombol();
tmbl.pack();
tmbl.setTitle("Tombol AWT");
tmbl.setVisible(true);
} // Akhir methode main
Setelah kita menjalankan program, kita akan mendapatkan tiga buah tombol
dengan karakteristik yang berbeda-beda. Tombol pertama (bAktif) merupakan tombol
berbentuk standar, tombol yang kedua (bNonAktif) merupakan tombol standar tetapi
tidak aktif sehingga tidak dapat ditekan, sedangkan tombol yang ketiga (bWarna)
adalah tombol yang telah dimodifikasi jenis teks, bentuk teks, ukuran teks, warna teks
dan latar belakang sesuai dengan yang kita inginkan.
Tampilan program tombol.java
Pada program di atas, semua tombol belum memiliki action listener sehingga
pada saat tombol-tombol tersebut ditekan atau diklik tidak menghasilkan respon atau
tindakan apapun. Untuk itu, pada contoh program berikutnya kita akan membuat
beberapa tombol yang memiliki action listener sehingga apabila ditekan atau diklik
akan menghasilkan respon atau tindakan tertentu.
import java.awt.*;
import java.awt.event.*;
public tombolRespon() {
tampilan();
}
/**
* Methode actionPerformed
* Ket : Untuk merespon action listener dari tombol yang ditekan
* @param e : Action Listener dari tombol yang ditekan
*/
public void actionPerformed(ActionEvent e) {
// Mengambil nama command dari tombol yang ditekan
Object cmd = e.getSource();
// Jika tombol "Aktifkan Tombol Tutup" ditekan
if (cmd.equals(bAktif)) {
// Aktifkan tombol Tutup
bTutup.setEnabled(true);
}
// Jika tombol "Non-Aktifkan Tombol Tutup" ditekan
if (cmd.equals(bNonAktif)) {
// non-aktifkan tombol Tutup
bTutup.setEnabled(false);
}
// Jika tombol "Merubah Isi Teks Tombol" ditekan
if (cmd == bUbahTeks) {
// Mengatur ulang isi teks pada tombol
bUbahIsi.setLabel("Teks ini telah diganti");
}
// Jika tombol "Merubah Warna Teks" ditekan
if (bUbahWarna.equals(cmd)) {
// Mengatur ulang Warna Teks pada tombol
bUbahWarna.setForeground(Color.CYAN);
}
// Jika tombol "Merubah Warna Latar Belakang Tombol" ditekan
if (bUbahLatar == cmd) {
// Mengatur ulang warna latar belakang tombol
bUbahLatar.setBackground(Color.pink);
}
// Jika tombol "Merubah Warna latar belakang Frame" ditekan
if (cmd.equals(bUbahFrame)) {
// Mengatur ulang warna latar belakang frame
this.setBackground(Color.MAGENTA);
}
// Jika tombol "tombol TUTUP" ditekan
if (cmd.equals(bTutup)) {
// Keluar dari sistem
System.exit(0);
}
// Jika tombol "Kembalikan ke Keadaan Awal" ditekan
if (cmd.equals(bAwal)) {
// Panggil methode tampilan() untuk Mengatur ke nilai awal
tampilan();
}
} // Akhir methode actionPerformed
} // Akhir Kelas tombolRespon
Label
Label adalah komponen yang digunakan untuk menampilkan tulisan atau teks
yang hanya dapat dibaca dan tidak dapat dimodifikasi. Pada komponen ini, Anda
dapat mengatur jenis teks, warna teks, warna latar belakang teks, ukuran teks, dan
bentuk teks dari label tersebut.
Pada contoh berikut ini, kita akan membuat beberapa Label dengan isi, jenis,
warna, bentuk, ukuran, posisi teks yang berbeda-beda. Untuk lebih jelasnya
perhatikan komentar-komentar yang terdapat pada listing program.
import java.awt.*;
public teksLabel() {
// Layout Komponen
this.setLayout(new FlowLayout());
// Menambahkan komponen pada Frame
this.add(label1, null);
this.add(label2, null);
this.add(label3, null);
this.add(label4, null);
this.add(label5, null);
// Mengatur Teks pada Label
label1.setText("Teks Default Java");
label4.setText("Serif Miring Ukuran 10 Berwarna Merah");
label5.setText("DialogInput Ukuran 9 Berwarna Magenta latar Hijau");
// Mengatur Jenis, ukuran, dan bentuk teks
label2.setFont(new Font("Dialog", 1, 14));
label3.setFont(new Font("Monospaced", 3, 12));
label4.setFont(new Font("Serif", 2, 10));
label5.setFont(new Font("DialogInput", 0, 9));
// Mengatur Warna Teks
label4.setForeground(Color.red);
label5.setForeground(Color.magenta);
// Mengatur Warna Latar Belakang Teks
label5.setBackground(Color.green);
} // Akhir Methode teksLabel
List
List adalah komponen yang terdiri dari daftar-daftar pilihan yang dapat
digulung. Pada komponen ini, Anda dapat menambahkan item, mengatur jenis teks,
warna teks, warna latar belakang teks, ukuran teks, bentuk teks dari item yang dipilih
dari komponen List tersebut.
Pada contoh berikut ini, kita akan membuat tiga buah komponen List dengan
bentuk sebagai berikut :
Komponen List 1 dengan bentuk standar.
Komponen List 2 dengan banyaknya kolom adalah 3, warna teks adalah red
dan warna latar belakang adalah cyan.
Komponen List 3 dengan banyak kolom yang ditampilkan adalah 6 dan dapat
memilih daftar pilihan lebih dari satu (Multiple Mode).
import java.awt.*;
public contohList() {
this.setLayout(new FlowLayout());
this.setTitle("List AWT");
// Menambahkan komponen List
this.add(list1, null);
this.add(list2, null);
this.add(list3, null);
// Mengatur warna teks dan latar belakang List
list2.setBackground(Color.cyan);
list2.setForeground(Color.red);
// Menambahkan item pada list1
list1.add("Kakak Tua");
list1.add("Merpati");
list1.add("Bangau");
list1.add("Perkutut");
list1.add("Garuda");
list1.add("Elang");
list1.add("Beo");
// Menambahkan item pada list2
list2.add("Merah");
list2.add("Hijau");
list2.add("Kuning");
list2.add("Biru");
list2.add("Putih");
list2.add("Abu-Abu");
list2.add("Merah Muda");
list2.add("Orange");
// Menambahkan item pada list3
list3.add("Adi Ternate");
list3.add("Fatwati");
list3.add("Irkhamah");
list3.add("Hardiansyah");
list3.add("Reghina Indah");
list3.add("Ayu Nurul");
list3.add("Anastasia");
list3.add("Paryono");
list3.add("Nuryanto");
list3.add("Hary Purwanto");
Choice
Choice adalah komponen pilihan yang bersifat sebagai pop-up menu. Pada
komponen ini, Anda dapat menambahkan item, mengatur jenis teks, warna teks,
warna latar belakang teks, ukuran teks, bentuk teks dari item yang dipilih dari
komponen Choice tersebut.
Pada contoh berikut ini, kita akan membuat dua buah komponen Choice dengan
karakteristik sebagai berikut :
Komponen Choice 1 dengan bentuk standar.
Komponen Choice 2 dengan modifikasi warna teks dan latar belakang.
import java.awt.*;
public contohChoice() {
// Layout dan Titel Komponen
this.setLayout(new FlowLayout());
this.setTitle("Choice AWT");
// Menambahkan Komponen
this.add(choice1, null);
this.add(choice2, null);
// Mengatur warna huruf dan latar belakang komponen
choice2.setBackground(Color.red);
choice2.setForeground(Color.blue);
// Menambahkan item pada "choice1"
choice1.add("Pilihlah Aku");
choice1.add("Pilihan Kedua");
choice1.add("Pilihan Ketiga");
choice1.add("Pilihan Keempat");
choice1.add("Pilihan Kelima");
choice1.add("Pilihan Keenam");
choice1.add("Kok Pilih Lagi");
// Menambahkan item pada "choice2"
choice2.add("Pilihlah Aku");
choice2.add("Pilihan Kedua");
choice2.add("Pilihan Ketiga");
choice2.add("Pilihan Keempat");
choice2.add("Pilihan Kelima");
choice2.add("Pilihan Keenam");
choice2.add("Kok Pilih Lagi");
Pada contoh berikut ini, kita akan membuat sebuah komponen Choice yang
memiliki item listener untuk merespon menu yang dipilih dan memproses berdasarkan
menu yang dipilih. Proses yang dilakukan adalah menampilkan menu yang dipilih
pada komponen Label yang terletak di bawahnya.
import java.awt.*;
import java.awt.event.*;
public choiceRespon() {
// Layout dan Titel Komponen
this.setLayout(new FlowLayout(FlowLayout.LEFT));
this.setTitle("Choice Respon AWT");
// Menambahkan Komponen
this.add(choice1, null);
this.add(label, null);
// Menambahkan item pada "choice1"
choice1.add("Pilihlah Aku");
choice1.add("Pilihan Kedua");
choice1.add("Pilihan Ketiga");
choice1.add("Pilihan Keempat");
choice1.add("Pilihan Kelima");
choice1.add("Pilihan Keenam");
choice1.add("Kok Pilih Lagi");
// Menambahkan Item Listener pada komponen Choice
choice1.addItemListener(this);
/**
* Methode itemStateChanged
* Ket : Merespon Item Listener dari menu Chioce yang dipilih
* @param e : ItemEvent dari menu Chioce yang dipilih
*/
public void itemStateChanged(ItemEvent e) {
// Mengambil nama Item dari menu Choice yang dipilih
String a = (String) e.getItem();
Pada saat kita memilih menu yang terdapat dapa komponen Chioce, tulisan
label akan berubah berdasarkan pilihan yang kita pilih.
Tampilan saat menu choice dipilih
TextField
TextField adalah komponen yang digunakan untuk menulis teks yang berukuran
kecil dan dapat diedit. Pada komponen ini, selain dapat mengatur isi teks, Anda juga
dapat mengatur jenis teks, warna tombol, warna teks, dan keaktifan dari TeksField
tersebut.
Pada contoh berikut ini, kita akan membuat beberapa komponen dengan
karakteristik sebagi berikut :
Komponen TextField 1 dengan tampilan karakter berbentuk bintang (*).
Komponen TextField 2 dengan teks tetapi tidak dapat diedit
Komponen TextField 3 dengan warna teks dan latar belakang yang
ditentukan
Komponen TextField 4 dengan teks dan dapat diedit
Komponen TextField 5 dengan tanpa teks
import java.awt.*;
public class contohTextField extends Frame {
// Deklarasi Komponen
TextField textField1 = new TextField();
TextField textField2 = new TextField();
TextField textField3 = new TextField("Ini TextField", 10);
TextField textField4 = new TextField("ini TextField tanpa format karakter");
TextField textField5 = new TextField(10);
public contohTextField() {
// Layout Komponen
this.setLayout(new FlowLayout(10, 10, 20));
// Menambahkan Komponen
this.add(textField1, null);
this.add(textField2, null);
this.add(textField3, null);
this.add(textField4, null);
this.add(textField5, null);
// Menambahkan Teks pada komponen
textField1.setText("tanda bintang");
textField2.setText("Tidak bisa diedit");
// Mengatur tampilan karakter menjadi bentuk tertentu
textField1.setEchoChar('*');
// Mengatur keaktifan komponen
textField2.setEditable(false);
// Mengatur Warna Latar Belakang komponen
textField2.setBackground(SystemColor.inactiveCaptionBorder);
textField3.setBackground(Color.orange);
// Mengatur warna teks pada komponen
textField3.setForeground(Color.blue);
}
TextArea
TextArea adalah komponen yang digunakan untuk menulis teks yang berukuran
besar dan dapat diedit. Pada komponen ini, selain dapat mengatur isi teks, Anda juga
dapat mengatur jenis teks, warna tombol, warna teks, dan keaktifan dari TeksArea
tersebut.
import java.awt.*;
}
public static void main(String[] args) {
contohTextArea contohTextArea = new contohTextArea();
contohTextArea.setTitle("Text Area AWT");
contohTextArea.pack();
contohTextArea.setVisible(true);
}
}