IF PEMROGRAMAN LANJUT EVENT. Oleh : Andri Heryandi, M.T.

dokumen-dokumen yang mirip
DIK-020 Pemograman Berorientasi Objek 5/24/2012

A. TUJUAN PEMBELAJARAN

Bab Tujuan. 8.2 Delegation Event Model

GUI Event Handling. minggu 13. Wednesday, 16 May 12

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

Materi : GUI AWT & SWING.

BAB IX. USER INTERFACE

GUI Event Handling 1

Materi 5 Pemrograman Visual

Membuat Menu Login Sederhana [Full Coding]

GUI Event Handling. 5. Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan anonymous class

1.Tujuan. 2. Latar Belakang

A. TUJUAN PEMBELAJARAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

GUI & Event Handling. Viska Mutiawani, M.Sc

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

GRAPHICAL USER INTERFACE (GUI)

MODUL PRAKTIKUM KE 3 A.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Tutorial A Menggambar Bendera Merah Putih Pada Frame

AWT (ABSTRACT WINDOWS TOOLKITS)

Modul 08. User Interface 01

Percobaan 7 GUI(Graphical User Interface )

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

BAB 2 INPUT DARI KEYBOARD

2. Manakah diantara pilihan berikut ini yang merupakan bagian dari event delegation model? Sebuah komponen yang menampilkan message

Belajar Set Currency Format di TextField Java

A. TUJUAN PEMBELAJARAN

BAB I PENDAHULUAN. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*;

Event Listener. Beberapa EventListener yang akan diberikan contoh pada slide ini antara lain:

PENGENALAN JAVA GUI PROGRAMMING

Anonymous Inner Class

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

MODUL 7 - EXCEPTION HANDLING

BAB 5 Mendapatkan Input dari Keyboard


Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

1. Mana dari adapter berikut ini yang merupakan class adapter yang benar didalam Java. ComponentAdapter

Membuat Frame, Label, TextField dan Button di Java [Full Coding]

MEMBUAT APLIKASI ZODIAK SEDERHANA DENGAN JAVA BY : INDRA

Dasar Perancangan Graphical User Interface

BAB 5 Mendapatkan Input dari Keyboard

1. Latar Belakang 2. Tujuan

Modul 9: antarmuka grafis (GUI) dalam window

Tugas Pemrograman Java P7 EL Event Handler & Menu. Disusun oleh: RIDLO PAMUJI / 22

Pemrograman Java. Pertemuan VIII By: Augury

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

Membuat Kalkulator dengan Java

Refreshing Praktikum: GUI (Graphical User Interface)

PERTEMUAN VI AWT DAN SWING TUJUAN PRAKTIKUM. 1. Praktikan mengenal pembuatan GUI pada Java. 2. Praktikan memahami action pada objek dalam Java.

Slide 6: Writing Classes

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else

BAHASA PEMROGRAMAN JAVA

SISTEM RANCANAGAN APLIKASI PEMBAYARAN SPP. Di Susun Oleh: Nama : Ikhlas Adi Putra Nim : Kelas : 21/Pagi

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

BAB II VARIABEL DAN TIPE DATA

2 TIPE DATA DAN VARIABEL

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM DENGAN KONDISI

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.

OBJECT ORIENTED PROGRAMMING (OOP)

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Modul Praktikum 1 Pemograman Berorientasi Objek

INSTRUKSI PENCABANGAN

ASPEK BERORIENTASI OBJEK DALAM RANCANG BANGUN SISTEM INFORMASI MANAJEMEN ZAKAT

Program Kalkulator Sederhana Menggunakan Java Netbeans

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

IF PEMROGRAMAN LANJUT PERCABANGAN. Oleh : Andri Heryandi, M.T.

PENGENALAN NETBEANS Algoritma & Pemrograman 2016/2017 Hastha Sunardi 2016 PENGENALAN NETBEANS. (Pertemuan: K[-]/L[1])

Penyeleksi Kondisi / Percabangan

Gambar 1. Deklarasi Interface MouseListener

TIPE DATA DAN VARIABLE

KONVERSI DATA DAN INPUT DATA

Nama Lengkap : Muiz Lidinillah NIM :

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Sendy Ferdian Sujadi

SOAL UAS Mata Kuliah : Pemrograman Berorientasi Objek Lanjutan

Materi 6 Pemrograman Visual

IKG2I4 / Software Project I

GUI (Grapichal User Interface)

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL)

DASAR PEMOGRAMAN JAVA

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Pemrograman Dekstop Pulut Suryati

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Pemrograman JAVA INPUT-OUTPUT

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Tahap implementasi merupakan prosedur yang harus. dilakukan untuk menyelesaikan desain sistem yang ada pada

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

VISUAL JAVA PROGRAMMING

BAGIAN XIII GRAPHICAL USER INTERFACE DENGAN SWING. Praktikum I : Menggunakan JFrame, JTextField, JLabel dan JButton

visit :

Topik. 1. Statement if 2. Statement if..else.. 3. Statement if..else.. If (bertingkat ) 4. Penggunaan Input Keyboard

Transkripsi:

IF34348 - PEMROGRAMAN LANJUT EVENT 13 Oleh : Andri Heryandi, M.T.

EVENT Event adalah suatu kejadian dimana kondisi dari suatu objek berubah. Event dibuat sebagai hasil interaksi user dengan komponen GUI. Sebagai contoh adanya klik pada tombol, adanya pergerakan mouse, atau pun ketika adanya pemasukan karakter melalui keyboard. Event Handling (penanganan event) adalah suatu mekanisme yang mengendalikan event dan mementukan apa yang seharusnya dilakukan ketika event terjadi. Di Java, semua event yang terjadi akan menghasilkan sebuah class Event. Dan class yang digunakan untuk menangani event adalah Listener. Oleh : Andri Heryandi, M.T. 2

JENIS-JENIS EVENT Class-Class event yang tersedia ada berbagai macam, diantaranya : Class ActionEvent : class yang terjadi ketika terjadi penekanan tombol, atau ada double-klik. Class KeyEvent : class yang terjadi ketika memasukan karakter. Class MouseEvent : class yang terjadi ketika sebuah aksi mouse terjadi. Class WindowsEvent : class yang terjadi ketika ada perubahan status di window. Setiap jenis event memiliki method dan attribut masingmasing. Oleh : Andri Heryandi, M.T. 3

JENIS-JENIS LISTENER Event Listener merepresentasikan interface yang bertanggungjawab untuk menangani event. Jenis-jenis listener ActionListener : Listener untuk ActionEvent. KeyListener : Listener untuk KeyEvent. MouseListener : Listener untuk MouseEvent. WindowListener : Listener untuk WindowEvent. Setiap Listener dapat diimplementasikan di class anda. Setiap Listener mempunyai method yang harus diimplementasikan. Oleh : Andri Heryandi, M.T. 4

CONTOH MENANGKAP EVENT Contoh aplikasi yang belum mempunyai event. import javax.swing.*; public class DemoEvent extends JFrame{ public DemoEvent(){ super("demo Event"); setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); setsize(300,200); setvisible(true); public static void main(string[] args) { new DemoEvent(); Oleh : Andri Heryandi, M.T. 5

CONTOH MENANGKAP EVENT Tambahkan implement ke MouseListener import javax.swing.*; public class DemoEvent extends JFrame implements MouseListener{ Tambahkan import ke import java.awt.event.mouselistener; import java.awt.event.mouselistener ; import javax.swing.*; public class DemoEvent extends JFrame implements MouseListener{ Oleh : Andri Heryandi, M.T. 6

CONTOH MENANGKAP EVENT Pasti ada error di baris pembuatan class, ini dikarenakan kita belum memiliki method-method yang ada di interface MouseListener. Klik di [x] errornya, pilih Add unimplemented methods. Oleh : Andri Heryandi, M.T. 7

CONTOH MENANGKAP EVENT Secara otomatis eclipse akan membuat method-method turunan dari interface MouseListener @ O v e r r i d e p u b l i c v o i d m o u s e C l i c k e d ( M o u s e E v e n t e ) { / / T O D O A u t o - g e n e r a t e d m e t h o d s t u b @ O v e r r i d e p u b l i c v o i d m o u s e E n t e r e d ( M o u s e E v e n t e ) { / / T O D O A u t o - g e n e r a t e d m e t h o d s t u b @ O v e r r i d e p u b l i c v o i d m o u s e E x i t e d ( M o u s e E v e n t e ) { / / T O D O A u t o - g e n e r a t e d m e t h o d s t u b @ O v e r r i d e p u b l i c v o i d m o u s e P r e s s e d ( M o u s e E v e n t e ) { / / T O D O A u t o - g e n e r a t e d m e t h o d s t u b @ O v e r r i d e p u b l i c v o i d m o u s e R e l e a s e d ( M o u s e E v e n t e ) { / / T O D O A u t o - g e n e r a t e d m e t h o d s t u b Oleh : Andri Heryandi, M.T. 8

CONTOH MENANGKAP EVENT Ubahlah setiap method tersebut sesuai keperluannya. p u b l i c v o i d m o u s e C l i c k e d ( M o u s e E v e n t e ) { if(e. g e t B u t t o n ( ) = = M o u s e E v e n t. B U T T O N 1 ) S y s t e m. o u t. p r i n t l n ("T o m b o l K i r i "); else if(e. g e t B u t t o n ( ) = = M o u s e E v e n t. B U T T O N 2 ) S y s t e m. o u t. p r i n t l n ("T o m b o l T e n g a h " ) ; else if(e. g e t B u t t o n ( ) = = M o u s e E v e n t. B U T T O N 3 ) S y s t e m. o u t. p r i n t l n ("T o m b o l K a n a n "); S y s t e m. o u t. p r i n t l n ( " M o u s e d i k l i k d i p o s i s i : "+e. g e t X ( ) + ", " + e. g e t Y ( ) ) ; p u b l i c v o i d m o u s e E n t e r e d ( M o u s e E v e n t e ) { S y s t e m. o u t. p r i n t l n ( " M o u s e m a s u k "); p u b l i c v o i d m o u s e E x i t e d ( M o u s e E v e n t e ) { S y s t e m. o u t. p r i n t l n ( " M o u s e K e l u a r "); p u b l i c v o i d m o u s e P r e s s e d ( M o u s e E v e n t e ) { S y s t e m. o u t. p r i n t l n ( " M o u s e d i t e k a n " ) ; p u b l i c v o i d m o u s e R e l e a s e d ( M o u s e E v e n t e ) { S y s t e m. o u t. p r i n t l n ( " M o u s e d i l e p a s " ) ; Oleh : Andri Heryandi, M.T. 9

CONTOH MENANGKAP EVENT Tambahkan addmouselistener. public DemoEvent(){ super("demo Event"); setdefaultcloseoperation (JFrame.EXIT_ON_CLOSE); setsize(300,200); addmouselistener(this); setvisible(true); Oleh : Andri Heryandi, M.T. 10

CONTOH MENANGKAP EVENT Run. Gerakan aktivitas yang dilakukan oleh Mouse. Oleh : Andri Heryandi, M.T. 11

LATIHAN Dengan cara yang seperti tadi, silahkan pelajari Event-Event listener yang lain : ActionListener KeyListener WindowListener Oleh : Andri Heryandi, M.T. 12

MERESPON AKSI KLIK Kasus: Buatlah sebuah aplikasi untuk menghitung hasil perkalian antara 2 buah bilangan dan menampilkan hasilnya ketika tombol Hitung diklik. Sedangkan tombol Reset akan mendefaultkan bilangan 1 dan bilangan 2 dengan nilai 0. Contoh tampilan : l1 l2 l3 tombolhitung t1 t2 t3 tombolreset Oleh : Andri Heryandi, M.T. 13

MERESPON AKSI KLIK i m p o r t j a v a x. s w i n g. * ; p u b l i c c l a s s K a l k u l a t o r e x t e n d s J F r a m e { p r i v a t e J B u t t o n t o m b o l H i t u n g, t o m b o l R e s e t ; p r i v a t e J L a b e l l 1, l 2, l 3 ; p r i v a t e J T e x t F i e l d t 1, t 2, t 3 ; p u b l i c K a l k u l a t o r ( ) { s u p e r ( " K a l k u l a t o r " ) ; s e t D e f a u l t C l o s e O p e r a t i o n ( J F r a m e. E X I T _ O N _ C L O S E ); s e t S i z e ( 3 0 0, 1 9 0 ) ; s e t L a y o u t ( n u l l ) ; l 1 = n e w J L a b e l ("B i l a n g a n 1 " ) ; l 1. s e t B o u n d s ( 1 0, 1 0, 9 0, 2 0 ) ; l 2 = n e w J L a b e l ("B i l a n g a n 2 " ) ; l 2. s e t B o u n d s ( 1 0, 4 0, 9 0, 2 0 ) ; l 3 = n e w J L a b e l ("H a s i l " ) ; l 3. s e t B o u n d s ( 1 0, 7 0, 9 0, 2 0 ) ; t 1 = n e w J T e x t F i e l d ( ) ; t 1. s e t B o u n d s ( 1 0 0, 1 0, 1 7 0, 2 0 ) ; t 2 = n e w J T e x t F i e l d ( ) ; t 2. s e t B o u n d s ( 1 0 0, 4 0, 1 7 0, 2 0 ) ; t 3 = n e w J T e x t F i e l d ( ) ; t 3. s e t B o u n d s ( 1 0 0, 7 0, 1 7 0, 2 0 ) ; t o m b o l H i t u n g = n e w J B u t t o n ("H i t u n g "); t o m b o l H i t u n g. s e t B o u n d s ( 1 0 0, 1 0 0, 8 0, 2 0 ) ; t o m b o l R e s e t = n e w J B u t t o n ( " R e s e t " ) ; t o m b o l R e s e t. s e t B o u n d s ( 1 9 0, 1 0 0, 8 0, 2 0 ) ; a d d ( l 1 ) ; a d d ( l 2 ) ; a d d ( l 3 ) ; a d d ( t 1 ) ; a d d ( t 2 ) ; a d d ( t 3 ) ; a d d ( t o m b o l H i t u n g ) ; a d d ( t o m b o l R e s e t ); s e t V i s i b l e ( t r u e ) ; p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ){ n e w K a l k u l a t o r (); Oleh : Andri Heryandi, M.T. 14

MERESPON AKSI KLIK Respons ketika tombolhitung diklik. tombolhitung.addactionlistener (new ActionListener(){ public void actionperformed(actionevent e) { ); double b1,b2,b3; b1=double.parsedouble(t1.gettext()); b2=double.parsedouble(t2.gettext()); b3=b1*b2; t3.settext(double.tostring(b3)); Tambahkan potongan source code di atas ke dalam aplikasi. Boleh ditempatkan sebelum setvisible. Oleh : Andri Heryandi, M.T. 15

MERESPON AKSI KLIK Respons ketika tombolreset diklik. tombolreset.addactionlistener (new ActionListener(){ public void actionperformed(actionevent e) { ); t1.settext("0"); t2.settext("0"); t3.settext("0"); t1.requestfocus(); Tambahkan potongan source code di atas didalam aplikasi. Boleh ditempatkan sebelum setvisible. Oleh : Andri Heryandi, M.T. 16

MERESPON AKSI KLIK Hasil Run. TombolHitung diklik TombolReset diklik Oleh : Andri Heryandi, M.T. 17