pemrograman lanjut - ub

28
Pemrograman Lanjut PTIIK - 2014 Intro to GUI (Graphical User Interface)

Upload: others

Post on 18-Dec-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pemrograman Lanjut - UB

Pemrograman Lanjut

PTIIK - 2014

Intro to GUI (Graphical User Interface)

Page 2: Pemrograman Lanjut - UB

Objectives

Memahami struktur hirarki class GUI

Mampu menjelaskan setiap komponen (class) yang terdapat pada struktur hirarki GUI

2

Page 3: Pemrograman Lanjut - UB

Introduction to GUI

User dapat berinteraksi dengan program aplikasi

modern yang menggunakan komponen grafis seperti

window, button, textbox, dan menu.

Sulit untuk menulis sebuah aplikasi GUI dari awal.

Sebagian besar telah dilakukan dalam satu set kelas

yang disebut Swing.

Swing adalah package yang besar. Pembahasan

dilakukan hanya tingkat dasar, tapi sudah cukup

untuk menulis beberapa program menarik.

Selengkapnya bisa dipelajari di dokumentasi Sun

3

Page 4: Pemrograman Lanjut - UB

Topik Pembahasan

Event-driven programming

Graphical user interfaces

The three parts of a GUI

GUI components

Containers

The Abstract Windowing Toolkit (AWT)

How the AWT relates to Swing

Swing class hierarchy

4

Page 5: Pemrograman Lanjut - UB

5

Page 6: Pemrograman Lanjut - UB

Java Foundation Classes

6

Page 7: Pemrograman Lanjut - UB

Swing and the AWT

GUI terdiri dari graphical components, seperti:

Windows

Buttons

Menus

Text fields

Komponen Swing didasarkan pada kelas-kelas

fundamental dari Application Windowing Toolkit

(AWT).

AWT juga terdiri dari beberapa komponen lama

yang sudah tidak digunakan

7

Page 8: Pemrograman Lanjut - UB

Abstract Window Toolkit (AWT)

8

Page 9: Pemrograman Lanjut - UB

Java Swing

9

Page 10: Pemrograman Lanjut - UB

Events

Aplikasi GUI menunjukkan kepada user antarmuka grafis

yang mengandung beberapa komponen grafis.

User mengontrol aplikasi dengan berinteraksi melalui

komponen grafis, seperti:

Mengklik pada tombol untuk memilih program opsi.

Membuat pilihan dari menu.

Memasukkan teks dalam kolom teks.

Menyeret scroll bar.

Tindakan seperti mengklik sebuah tombol disebut

sebagai Event.

10

Page 11: Pemrograman Lanjut - UB

Event-driven Programming

Ketika kita memberikan action pada komponen

GUI, maka kita telah membuat event.

Pada event-driven programming, program

akan merespon event tersebut. Urutan kejadian

ditentukan oleh user, bukan program.

Pada console programming, user akan

merespon apa yang terdapat pada prompt.

Urutan kejadian ditentukan oleh program.

11

Page 12: Pemrograman Lanjut - UB

Responding to Events

User berinteraksi dengan aplikasi GUI

dan menyebabkan Event.

Aplikasi merespond berdasarkan

urutan permintaan yang datang.

Setiap kali pengguna berinteraksi

dengan komponen, event dikirim ke

aplikasi.

Berbagai aktivitas dikirim ke berbagai

bagian aplikasi.

12

Page 13: Pemrograman Lanjut - UB

Three Parts of a GUI Program

Program GUI memiliki tiga bagian:

Graphical Components : membentuk antar muka

pengguna dalam bentuk grafis (object Swing).

Listener methods : menerima event dan

meresponnya.

Application methods : melakukan pekerjaan

(komputasi) yang berguna bagi user.

• Menerima data dari GUI, mengirim data hasil olahan ke GUI

yang akan ditampilkan, dan biasanya tidak lepas dari user

interface

13

Page 14: Pemrograman Lanjut - UB

Real-world Interfaces

Radio

Graphical Components ?

Listener Methods ?

Application Methods ?

14

Page 15: Pemrograman Lanjut - UB

Container Classes

Program GUI terdiri dari kumpulan komponen grafis yang

semuanya ditempatkan di dalam satu atau lebih window.

Komponen-komponen GUI berada di dalam window.

Container adalah obyek yang dapat berisi komponen GUI

lainnya.

Pada terminologi JAVA, window adalah sebuah

container.

Button, slider, icon dan komponen GUI lainnya selalu

dimasukkan ke dalam Container.

15

Page 16: Pemrograman Lanjut - UB

Java Classes (review)

Class component yang membentuk AWT dan

Swing berhubungan satu sama lain melalui

inheritance

Class Object mendefinisikan member dasar dari

semua object dalam Java

16

Page 17: Pemrograman Lanjut - UB

AWT Hierarchy

Java AWT (Abstract

Windowing Toolkit) terdiri

dari class fundamental

yang digunakan untuk

membangun GUI

abstract Component

class merupakan base

class untuk AWT

Class JComponent

diturunkan dari class

Container dan salah satu

base class dari Swing

17

Page 18: Pemrograman Lanjut - UB

JComponent class

Masih banyak lagi class Swing selain yang terdapat pada

diagram. Contoh, masih ada beberapa tipe button yang

diturunkan dari AbstractButton, tapi pada diagram

hanya terdapat satu contoh saja, JButton.

18

Page 19: Pemrograman Lanjut - UB

Frames

Pada Java, Frame merupakan window yang

memiliki border, beberapa button perintah yang

ada di bagian atas, dan fitur lain

Window yang biasanya kalian ketahui, di java

dikenal dengan Frame

19

Page 20: Pemrograman Lanjut - UB

Small GUI Program

20

Page 21: Pemrograman Lanjut - UB

21

Page 22: Pemrograman Lanjut - UB

Dimensions of a Frame

Method setSize() dari JFrame dapat mengubah ukuran

dari frame pada layar monitor.

Ukuran tersebut dapat diubah pada saat program

berjalan

22

Page 23: Pemrograman Lanjut - UB

setBounds() method

Method setBounds() tidak hanya dapat

mengubah ukuran dari frame, namun dapat

menentukan lokasi kiri atas frame.

public void setBounds(int x, int y, int width, int height)

23

Page 24: Pemrograman Lanjut - UB

setDefaultCloseOperation()

Method setDefaultCloseOperation() digunakan

untuk melakukan aksi terhadap close button:

JFrame.EXIT_ON_CLOSE — Exit the application.

JFrame.HIDE_ON_CLOSE — Hide the frame, but

keep the application running.

JFrame.DISPOSE_ON_CLOSE — Dispose of the

frame object, but keep the application running.

JFrame.DO_NOTHING_ON_CLOSE — Ignore the

click.

24

Page 25: Pemrograman Lanjut - UB

Program with two Frames

25

Page 26: Pemrograman Lanjut - UB

Extending the JFrame Class

26

Page 27: Pemrograman Lanjut - UB

Extending the JFrame Class

27

Page 28: Pemrograman Lanjut - UB

[email protected]

081 331 834 734 / 088 160 127 40