Modul Pemrograman Berorientasi Objek
09Fakultas:
Java Abstract Window Toolkit(AWT)
Univesitas Bhayangkara Jakarta Raya
Ilmu Komputer
Prodi:
Informatika
[Link].i
[Link] 1
d
Learning Outcome
• Mahasiswa Mengenal Kelas Abstract Window Toolkit
• Mahasiswa Memahami Kelas Abstract Window Toolkit
[Link].i
[Link] 2
d
Outline Perkuliahan
[Link].i
[Link] 3
d
Abstract Window Toolkit
• Java AWT (Abstract Window Toolkit) adalah API untuk
mengembangkan Graphical User Interface (GUI) atau aplikasi
berbasis windows di Java.
• Komponen Java AWT bergantung pada platform, yaitu
komponen ditampilkan sesuai dengan tampilan sistem operasi.
AWT berbobot berat yaitu komponennya menggunakan sumber
daya sistem operasi (OS) yang mendasarinya.
• Paket [Link] menyediakan kelas untuk AWT API seperti
TextField , Label , TextArea , RadioButton, CheckBox , Choice ,
List dll.
[Link].i
[Link] 4
d
Hirarki AWT Java
• Hierarki kelas Java AWT diberikan di bawah ini.
[Link].i
[Link] 5
d
Perubahan keadaan
suatu benda disebut
peristiwa. Misalnya, klik
tombol, menyeret
mouse, dll. Paket
[Link]
menyediakan banyak
kelas event dan
antarmuka Listener
untuk penanganan
acara.
[Link] 6
Komponen dan Wadah
• Komponen
• Semua elemen seperti tombol, kolom teks, bilah gulir, dll.
disebut komponen. Di Java AWT, terdapat kelas untuk setiap
komponen seperti yang ditunjukkan pada diagram di atas.
Untuk menempatkan setiap komponen pada posisi tertentu di
layar, kita perlu menambahkannya ke sebuah container.
• Wadah
• Container adalah komponen di AWT yang dapat memuat
komponen lain seperti tombol , bidang teks, label, dll. Kelas
yang memperluas kelas Kontainer dikenal sebagai wadah
seperti Frame, Dialog , dan Panel .
[Link].i
[Link] 7
d
Contoh Java AWT
• Untuk membuat contoh AWT sederhana, Anda
memerlukan bingkai. Ada dua cara untuk membuat
GUI menggunakan Frame di AWT.
• Dengan memperluas kelas Frame ( warisan )
• Dengan membuat objek kelas Frame ( asosiasi )
[Link].i
[Link] 8
d
Example 1
// importing Java AWT class // setting the title of Frame
import [Link].*; setTitle("This is our basic AWT example");
// extending Frame class to our class AWTExample1 // no layout manager
public class AWTExample1 extends Frame { setLayout(null);
// initializing using constructor // now frame will be visible, by default it is not visible
AWTExample1() { setVisible(true);
}
// creating a button
Button b = new Button("Click Me!!"); // main method
public static void main(String args[]) {
// setting button position on screen
[Link](30,100,80,30); // creating instance of Frame class
AWTExample1 f = new AWTExample1();
// adding button into frame
add(b); }
// frame size 300 width and 300 height }
setSize(300,300);
[Link].i
[Link] 9
d
Example 2
// adding components into frame
// importing Java AWT class
[Link](b);
import [Link].*;
[Link](l);
[Link](t);
// class AWTExample2 directly creates instance of Frame class
class AWTExample2 {
// frame size 300 width and 300 height
[Link](400,300);
// initializing using constructor
AWTExample2() {
// setting the title of frame
[Link]("Employee info");
// creating a Frame
Frame f = new Frame();
// no layout
[Link](null);
// creating a Label
Label l = new Label("Employee id:");
// setting visibility of frame
[Link](true);
// creating a Button
}
Button b = new Button("Submit");
// main method
// creating a TextField
public static void main(String args[]) {
TextField t = new TextField();
// creating instance of Frame class
// setting position of above components in the frame
AWTExample2 awt_obj = new AWTExample2();
[Link](20, 80, 80, 30);
[Link](20, 100, 80, 30);
}
[Link](100, 100, 80, 30);
}
[Link]
[Link] 10
Langkah-langkah untuk melakukan Penanganan Event
Langkah-langkah berikut diperlukan untuk melakukan penanganan acara:
Daftarkan komponen ke Listener
Metode Pendaftaran
Untuk mendaftarkan komponen ke Listener, banyak kelas yang menyediakan metode
pendaftaran. Misalnya:
Tombol
public void addActionListener(ActionListener a){}
Item Menu
public void addActionListener(ActionListener a){}
Bidang Teks Area Teks
public void addActionListener(ActionListener a){} public void addTextListener(TextListener a){}
public void addTextListener(TextListener a){} kotak centang
public void addItemListener(ItemListener a){}
Pilihan
public void addItemListener(ItemListener a){}
Daftar
public void addActionListener(ActionListener a){}
[Link]
[Link] public void addItemListener(ItemListener
11 a){}
Java Event Handling Code
Kita dapat menempatkan kode penanganan event ke salah
satu tempat berikut:
a. Di dalam kelas
b. Kelas lain
c. Kelas anonim
[Link]
[Link] 12
import [Link].*;
import [Link].*;
Penanganan event Java dengan class AEvent extends Frame implements ActionListener{
TextField tf;
mengimplementasikan ActionListener AEvent(){
//create components
tf=new TextField();
[Link](60,50,170,20);
Button b=new Button("click me");
[Link](100,120,80,30);
//register listener
[Link](this);//passing current instance
//add components and set size, layout and visibility
add(b);add(tf);
setSize(300,300);
setLayout(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
[Link]("Welcome");
}
public static void main(String args[]){
new AEvent();
}
[Link]
[Link]
}
13
Contoh Label Java AWT dengan ActionListener
Dalam contoh berikut, kita membuat objek kelas TextField ,
Label, dan Button dan menambahkannya ke Frame. Dengan
menggunakan metode actionPerformed(), suatu peristiwa
dihasilkan melalui tombol. Saat kami menambahkan situs
web di kolom teks dan mengklik tombol, kami mendapatkan
alamat IP situs web.
[Link]
[Link] 14
import [Link].*; add(b);
import [Link].*; add(tf);
add(l);
// creating class which implements ActionListener interface and inheri
ts Frame class setSize(400,400);
public class LabelExample2 extends Frame implements ActionListen setLayout(null);
er{ setVisible(true);
}
// creating objects of TextField, Label and Button class
TextField tf; // defining actionPerformed method to generate an event
Label l; public void actionPerformed(ActionEvent e) {
Button b; try {
String host = [Link]();
// constructor to instantiate the above objects String ip = [Link](host).getHostAddre
LabelExample2() { ss();
tf = new TextField(); [Link]("IP of "+host+" is: "+ip);
[Link](50, 50, 150, 20); }
catch (Exception ex) {
l = new Label(); [Link](ex);
[Link](50, 100, 250, 20); }
}
b = new Button("Find IP");
[Link](50,150,60,30); // main method
[Link](this); public static void main(String[] args) {
new LabelExample2();
}
[Link]
[Link] } 15
[Link]
[Link] 16
Question
[Link] 17
THANK YOU
Universitas Bhayangkara Jakarta Raya
[Link] 18