Top Banner
PENGENALAN JAVA GUI PROGRAMMING
30

PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Apr 30, 2019

Download

Documents

hadiep
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

PENGENALAN  JAVA  GUI  PROGRAMMING  

Page 2: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Sub  Pokok  Bahasan  

•  JFC  •  AWT  •  Swing  •  Ilustrasi    

Page 3: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

JFC  (Java  Founda=on  Classes)    

Page 4: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Java  Founda=on  Class  

•  Merupakan  framework  dalam  Java  untuk  mengembangkan  aplikasi  berbasis  GUI  (Graphical  User  Interface)    

•  JFC  juga  mempunyai  class-­‐class  yang  digunakan  untuk  menambahkan  fungsi  dan  kemampuan  interaksi  yang  varia=f  dari  pemrograman  Java.  

Page 5: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Java  Founda=on  Class  

•  JFC:  – AWT  (Abstract  Window  Toolkit)  – Swing  –  Java2D  

Page 6: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

AWT  (Abstract  Window  Toolkit)  

•  PlaNorm  awal  yang  dimiliki  Java  untuk  mengembangkan  aplikasi  GUI  

•  Sudah  ada  lebih  dulu  sebelum  Swing  •  AWT  membangun  tampilan  grafis  dengan  menggunakan  subru=n/fungsi  asli  yang  dimiliki  oleh  suatu  plaNorm  sistem  operasi  

•  Sehingga  memungkinkan  hasil  tampilan  komponen  grafisnya,  =dak  sama  antar  plaNorm  SO  satu  dengan  yang  lain  

Page 7: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

AWT  

•  Di  dalamnya  terdapat  API  (Applica=on  Programming  Interface)  untuk  menangani  event  handling  

•  Secara  fisik  bentuk  AWT  adalah  berupa  kumpulan  klas-­‐klas  yang  ada  dalam  paket  java.awt  

Page 8: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Swing  

•  Teknologi  yang  lebih  baru  daripada  AWT  •  Swing  membangun  tampilan  grafis  =dak  langsung  menggunakan  subru=n/fungsi  asli  dari  plaNorm  SO.  

•  Swing  membangun  sendiri  tampilan  grafis  tersebut  (yaitu  menggunakan  Java2D,  dan  Java2D  yang  berhubungan  dengan  low-­‐level  subru=n  asli  dari  plaNorm  SO)    

Page 9: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Swing  •  Tampilan  grafis  yang  dihasilkan  antara  plaNorm  satu  dengan  yang  lain  sama  

•  Lebih  kaya  dan  lebih  bagus  •  Menyediakan  fasilitas  “cross-­‐plaNorm  look  and  feel”,  sehingga  bisa  membuat  tampilan  yang  seolah2  tampilan  grafisnya  dibuat  menggunakan  plaNorm  sistem  operasi  lain  

       Contoh:  Misal  dibuat  program  di  Windows,  tampilannya  bisa  dibuat  seper=  di  tampilan  di  Mac.  

Page 10: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Swing    

•  Swing  bukan  penggan=  AWT,  Swing  akan  berdampigan  dengan  AWT  

•  Karena  se=ap  tampilan  komponen  GUI  tetap  perlu  berkomunikasi  dengan  low-­‐level  subrou=n  dari  suatu  plaNorm  SO  

•  Misalkan  saat  Event  Handling,  Event  source  nya  berasal  dari  hardware  seper=  mouse  dan  keyboard.  Jadi  tetap  perlu  berkomunikasi  dengan  subrou=n  asli  SO  untuk  bisa  mengenali  event  dari  keyboard  atau  mouse  

Page 11: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Swing    

•  Secara  fisik  bentuk  Swing  adalah  berupa  kumpulan  klas-­‐klas  yang  ada  dalam  paket  javax.swing  

Page 12: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Java2D  

•  API  di  Java  untuk  mengembangkan  aplikasi  grafis  2  dimensi  

•  Shape  •  Color  •  Fill  •  Transform  •  Stroke  •  Font  

Page 13: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Swing  

Page 14: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Arsitektur  Swing  

•  Se=ap  aplikasi  GUI  Swing  harus  memiliki  se=daknya  satu  TOP-­‐LEVEL  CONTAINER  

•  CONTAINER  merupakan  komponen  GUI  dimana  didalamnya  dapat  dimasukkan  komponen  GUI  lainnya  

•  Dalam  TOP-­‐LEVEL  CONTAINER  tsb  akan  diletakkan  komponen-­‐komponen  GUI  lainnya  

Page 15: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Arsitektur  Swing  

•  TOP-­‐LEVEL  CONTAINER  – Menu  Bar  •  Tempat  diletakkannya  komponen  MENU  dan  MENU  ITEM  

– Content  Pane  •  Tempat  diletakkannya  komponen-­‐komponen  GUI  lainnya  (selain  menu,  seper=  Bu\on,  Text  Field  dsb)  

•  Implementasi  dalam  Swing  utk  TOP-­‐LEVEL  CONTAINER  adalah  menggunakan  klas  JFrame,  Jdialog  dan  JApplet  

Page 16: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Arsitektur  Swing  

Top-­‐Level  Container  

Content  Pane  

Komponen   Komponen  

Komponen  

Dsb  

Menu  Bar  

Menu  

Menu  Item  

Page 17: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Arsitektur  Swing  

Page 18: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Ilustrasi  

Page 19: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

Langkah-­‐Langkah  

1.  Buat  Root  Level  Container  2.  Buat  Komponen  GUI  dan  masukkan  ke  

dalam  Root  Level  Container  3.  Buat  Event  Handling  

Page 20: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(1)  Membuat  Root  Level  Container  

•  Dibuat  dengan  menggunakan  klas  JFrame  •  Buat  SUBKLAS  dari  Jframe  •  Buat  objek  dari  SUBKLAS  tersebut  •  Panggil  method  dari  objek  tersebut,  untuk  mendapatkan  hasil  yang  diinginkan  

Page 21: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(1)  Membuat  Root  Level  Container  

•  Buat  SUBKLAS  dari  JFrame    

•  Buat  objek  dari  SUBKLAS  tsb,  dan  panggil  method  utk  mendapatkan  hasil  yang  diinginkan  

Page 22: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(1)  Membuat  Root  Level  Container  

•  Agar  tampilan  lebih  baik  dari  sebelumnya,  lengkapi  pada  class  Main  hingga  sbg  berikut  

Page 23: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(2)  Masukkan  Komponen  GUI  ke  Frame    •  Lengkapi  klas  MainWindow  dg  atribut,  dimana  atribut  tsb  merupakan  komponen  GUI  yang  akan  dimasukkan  ke  Frame  

•   Isikan  dalam  konstruktor  klas  MainWindow  sintaks  instansiasi  objek  komponen  GUI    

•  Masukkan  komponen  GUI  ke  dalam  Frame  dgn  menggunakan  method  add  

Page 24: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(2)  Masukkan  Komponen  GUI  ke  Frame    

Buat  atribut  

Ins=ansi  objek  dari  =ap  atribut  

1.  Masukkan  objek  txt1,  txt2  dan  btn  ke  dalam  panel.  

2.  Masukkan  panel  ke  dalam  Fame  

Page 25: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(2)  Masukkan  Komponen  GUI  ke  Frame    •  Untuk  melihat  hasil  perubahannya,  panggil  method  addComponent()  yang  ada  di  klas  MainWindow,  dari  dalam  klas  Main  

Page 26: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(3)  Membuat  Event  Handling  

•  Event  Handling  digunakan  untuk  menangani  ke=ka  user  memberikan  event  pada  suatu  komponen  GUI,  misalnya:  ke,ka  tombol  di  klik,  ke,ka  user  menge,kkan  sesuatu  dalam  text  field,  ke,ka  user  memilih  salah  satu  item  di  dalam  combo  box  dsb.  

•  Event  handling  dibuat  dengan  cara  mengimplentasikan  (implements)  suatu  interface  

•  Meletakkan  proses  penanganan  event  ke  dalam  method  implementasinya  

Page 27: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(3)  Membuat  Event  Handling  

•  Implements-­‐kan  klas  MainWindow  ke  interface  Ac=onListener  

•  Konsekuensinya,  dalam  klas  MainWindow  harus  memberikan  isi  method  acIonPerformed.  acIonPerformed  merupakan  method  abstract  yang  ada  dalam  interface  AcIonListener    

(klik  tanda  merah  dan  implements  all  abstract  method)  

Page 28: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(3)  Membuat  Event  Handling  

1.  Implements  ke  interface  AcIonListener  

2.  Masukkan  sintaks  untuk  menangani  event  ke  dalam  method  acIonPerformed  

3.  Tambahkan  listener  yang  telah  dibuat  ini  ke  dalam  btn  (sehingga  ke=ka  btn  diklik  akan  menjalankan  sintaks  yang  ada  dalam  acIonPerformed)  

Page 29: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

(4)  Jalankan  Program  

•  Jalankan  klas  Main  dan  coba  analisis  hasil  nya  

•  Masukan  nilai  ke  txt1  dan  txt2.  Kemudian  tekan  tombol  btn  

Page 30: PENGENALAN AVAGUI’ PROGRAMMING · mengembangkan$aplikasi$berbasis$GUI ... dimiliki$oleh$suatu$plaorm$ sistem$operasi$ ... • Karena$se=ap$tampilan$komponen$GUI tetap$

SELESAI