gui, event handling exception handling - new line | hidup ... · apa itu gui? • gui ‐>...

46
GUI Event Handling Exception Handling GUI, Event Handling, Exception Handling in Java Nurochman

Upload: vuongngoc

Post on 27-Mar-2019

245 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

GUI Event Handling Exception HandlingGUI, Event Handling, Exception Handlingin Java

Nurochman

Page 2: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Apa itu GUI?

• GUI ‐> Graphical User Interface

• Tanpa GUI program kita kurang menarikp p g g

• Program GUI terdiri dari Container dan Component

• Container sebagai wadah• Container sebagai wadah

• Component adalah sesuatu yg bs ditempelkan pd container

• Program GUI minimal memiliki satu container

• Container bisa berlapis (level paling atas disebut top‐level container))

Page 3: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Top‐level Container

• JFrame

untuk GUI Desktop Applicationuntuk GUI Desktop Application

• JDialog

untuk menampilkan kotak dialog

• JApplet• JApplet

untuk aplikasi applet pada halaman web site

Page 4: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

GUI

• Java GUI ‐> AWT dan Swing

• AWT ‐> Abstract Window Toolkit• AWT ‐> Abstract Window Toolkit

• Beberapa komponen AWT ditulis dengan native code

• Swing ditulis dengan bahasa JavaSwing ditulis dengan bahasa Java

• Swing ‐> platform independent, artinya l f b b d lplatform berbeda mempunyai tampilan sama

• AWT dan Swing dpt digunakan bersamag p g

• Disarankan menggunakan Swing

Page 5: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Komponen AWT

Page 6: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Contoh GUI AWT 

Frame di atas belum bisa ditutup dengan menekan tombol close pada pojok kanan atas, Karena belum ada mekanisme Event Handling

Page 7: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Method dalam class Graphic

Page 8: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Constructor pada class Color

Page 9: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Contoh Graphic

Page 10: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri
Page 11: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Komponen AWT

Page 12: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Contoh GUI dg Komponen

Contoh GUI dg Komponen

Page 13: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri
Page 14: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Layout

• Where does a component go?

• Container uses a layout to decide• Container uses a layout to decide

• Different layouts

– Flow Layout

Border Layout– Border Layout

– Grid Layout

– Card Layout

Page 15: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Advantages of layouts

• Co‐ordinate positioning might result in component overlapscomponent overlaps

• You need take no special action when the t i i i dcontainer is resized

• Most user interfaces consist of several containers which may employ different layouts

Page 16: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Border Layout

Page 17: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri
Page 18: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri
Page 19: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Flow Layout

Can be left centre or right alignedCan be left, centre or right aligned. Picture shows left alignment

Page 20: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Example of Flow Layout

Page 21: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Flow Layout

Page 22: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Grid Layout

An M*N matrix of componentsAn M*N matrix of componentspublic GridLayout(int rows, int cols)

Page 23: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Grid Layout Example

Page 24: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Grid Layout

Page 25: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Card Layout

• Not designed to lay components out

• Displays one component at a time• Displays one component at a time

• Every component is a "card“

• Components are ordered in a stack

• Use for implementing HyperCard style• Use for implementing HyperCard style applications and applets

Page 26: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Swing

• Bagian dari JFC (Java Foundation Class)• Package javax swing *• Package javax.swing.• Penamaan class diawali huruf ‘J’

• Misal JFrame, JButton, JLabel, JTextField,

Page 27: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Komponen Swing

Page 28: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Komponen Swing

Page 29: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri
Page 30: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Event Handling

• Bagaimana GUI dapat merespons aksi yang dilakukan user?

l d l• Delegation event model merupakan model bagaimana program dapat meresponprogram dapat merespon interaksi dari user.

Page 31: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Delegation Event Model

• Event Source, Event source mengacu pada komponen GUI yang meng‐generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombolsource dalam hal ini adalah tombol.

• Event Listener/Handler, Event listener menerima berita dari event‐event dan proses‐proses interaksi user. Ketika tombol ditekan, listener p pakan mengendalikan dengan menampilkan sebuah informasi yang berguna untuk user.

E Obj K ik b h j di ( i l k ik• Event Object, Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI), sebuah object event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah j y g p g y gterjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di‐klik. Ada beberapa class event untuk kategori 

b b d d i ti S b h t bj t i tiyang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dari class ini.

Page 32: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Class‐class Event

Page 33: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Event Listeners

Page 34: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Exception

• Bugs dan Error sering muncul meski programmer hebatprogrammer hebat

• Mekanisme exception handling akan h t kt h kimenghemat waktu error‐checking

• Exception ‐> Exceptional Eventsp p

• Runtime exception mengganggu aliran program

Page 35: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Contoh runtime error

• Pembagian dengan 0

• Mengakses elemen diluar jangkauan array• Mengakses elemen diluar jangkauan array

• Input tidak benar• Membuka file yang tidak ada

• dll• dll

Page 36: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

contoh

Page 37: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Menangkap exception dg try…catch

Page 38: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

contoh

Page 39: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Keyword finally

Page 40: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Keyword throw

Page 41: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Keyword throws

Page 42: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Langkah akses DB dengan JDBC

• Mendaftarkan driver sesuai jenis database yang akan diakses. Untuk MS Access menggunakan ODBC:i i i (DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());

• Membuat koneksi ke database yang dituju.y g jConnection conn = DriverManager.getConnection(String url, String user, String password);

• Format url untuk database Ms Access sebagai berikut: “jdbc:odbc:DSN”

K DSN k d did fi i ik dKet: DSN merupakan data source name yang didefinisikan dan diarahkan ke database yang akan diakses.

Page 43: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

JDBC (2)

• Membuat objek statement dari koneksi yang telah dibuat.Statement stmt = conn.createStatement();

• Memanggil method untuk mengeksekusi query.

Untuk query select:ResultSet rs = stmt.executeQuery(“select * from tableName”);

Untuk query insert, update, delete:stmt.executeUpdate(“DELETE FROM TABLENAME WHERE FIELD = VALUE”);

Page 44: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

JDBC (3)

• Mengekstrak resultset yang didapat dari query (untukquery select)

while (rs.next()) {System.out.println(rs.getString(1)+” “+rs.getString(2));

}

• Menutup koneksi, statement dan resultset (untukquery select).q y )conn.close(); stmt.close(); rs.close();

Page 45: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Tugas

• Buat aplikasi Java GUI dengan database, kasus tentukan sendiri!tentukan sendiri!

• Kelompok 6 mhs

• Presentasikan pertemuan ke 13‐14

Page 46: GUI, Event Handling Exception Handling - neW Line | Hidup ... · Apa itu GUI? • GUI ‐> Graphical User Interface • Tanpa GUI ppgrogram kita kurang menarik • Program GUI terdiri

Pertanyaan???