Download download

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Basic GUI
Matakuliah
Pertemuan
Tahun
Versi
: T0984 / Algoritma dan Metode Object Oriented Programming II
: 13
: 2008
: 1/0
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
– Mendemonstrasikan pemograman Java
menggunakan Grafik User Interface.
Bina Nusantara
Outline Materi
•
•
•
•
•
•
•
Introduction
Java GUI API
Swing VS AWT
Frame
Adding Component to a Frame
Layout Manager
Panel
Bina Nusantara
Introduction
• GUI (Graphical User Interface) : metode
interaksi secara grafis antara user dengan
komputer.
• API (Application Programming Interface) : suatu
kumpulan fungsi-fungsi, prosedur-prosedur,
kelas-kelas dalam sebuah operating system,
library yang dapat mendukung apa yang diminta
oleh program.
Bina Nusantara
Java GUI API
•
Kelas-kelas GUI diklasifikasikan menjadi
3 group :
1. Container Classes
 JFrame, JPanel, dan JApplet
2. Component Classes
 JButton, JTextField, JTextArea, JComboBox, JList, JRadioButton
dan JMenu , adalah subclasses dari JComponent.
3. Helper Classes
 Graphics, Color, Font, FontMetrics dan Dimension.
Bina Nusantara
Swing VS AWT
• AWT (Abstract Windows Toolkit)
–
–
–
–
–
Baik untuk pengembangan simple graphical user interface
Kurang cocok untuk pengembangan GUI Projector.
Rawan untuk bugs.
Heavyweight components
Contoh kelas :
• Button, Label, List Component, Canvas, dll dari java.awt
• Swing
–
–
–
–
–
More Robust
More Versatile
Flexible library
Komponennya tergantung pada platform.
Lightweight components, untuk JApplet, JFrame dan JDialog masih
heavyweight component karena masih tergantung dari AWT.
– Contoh kelas :
• JButton, JLabel, JList, JComponent, dll dari javax.swing
• Umumnya semua kelas menggunakan “J” di depan nama kelasnya
Bina Nusantara
Frame
• Menggunakan JFrame
• Tingkatan paling atas dari kontainer untuk
menghandle komponen GUI.
• Method :
–
–
–
–
setSize(lebar,tinggi)  mengatur ukuran frame
setLocation(x,y)  mengatur lokasi letak frame
setVisible(boolean)  mengatur untuk ditampikan atau tidak
setDefaultCloseOperation(int)  Spesifikasi operasi jika frame
ditutup
– setLocationRelativeTo(component) Set lokasi frame ke
komponen yang spesifik. Jika komponennya null maka frame
akan tepat di tengah layar
– pack() secara otomatis set ukuran frame dengan komponenkomponen yang ada di dalam frame.
Bina Nusantara
Frame ( lanjut .. )
• Contoh Kode :
400
• Output :
300
Bina Nusantara
Adding Component to a Frame
• Untuk menambahkan komponen pada frame
menggunakan method add.
• Setiap JFrame terdiri dari 1 buah content pane
(java.awt.Container)
• Contoh :
– Kita menambahkan 1 komponen dari JButton pada JFrame secara
langsung.
• Buat objek button
JButton btn = new JButton(“Submit”);
• Tambahkan objek button ke dalam frame dengan method add
frm.add(btn);
– Kita dapat menggunakan kelas Container untuk menambahkannya
dengan cara :
• Ketika objek telah dibuat maka langsung menambahkannya dengan:
java.awt.Container con = frm.getContentPane();
con.add(btn);
Bina Nusantara
Adding Component to a Frame
( lanjut .. )
• Contoh Kode :
• Output :
1 buah Button yang dihandle oleh
1 content pane frame tersebut
Bina Nusantara
Layout Manager
• Mengatur tampilan komponen-komponen
pada kontainer.
• Ada 3 layout manager dasar :
 FlowLayout
 GridLayout
 BorderLayout
Bina Nusantara
Layout Manager
( lanjut ..)
• FlowLayout
 Simple Layout Manager
 Peletakan komponen perbaris dari kiri ke kanan
 3 Konstanta :
• FlowLayout.RIGHT
• FlowLayout.CENTER
• FlowLayout.LEFT
Bina Nusantara
Layout Manager
( lanjut ..)
• Contoh FlowLayout
Bina Nusantara
Layout Manager
( lanjut ..)
• GridLayout
 Diatur dalam grid (matix)
 Dapat mendefinisikan jumlah baris dan kolom waktu
dipanggil konstruktor
Bina Nusantara
Layout Manager
( lanjut ..)
• Contoh GridLayout
Bina Nusantara
Layout Manager
( lanjut ..)
• BorderLayout
 Terdiri dari 5 area peletakan :
•
•
•
•
•
Bina Nusantara
BorderLayout.EAST
BorderLayout.SOUTH
BorderLayout.WEST
BorderLayout.NORTH
BorderLayout.CENTER
Layout Manager
( lanjut ..)
• Contoh BorderLayout
Bina Nusantara
Panel
•
•
•
•
•
Untuk mengatur letak komponen.
1 panel hanya menghandle 1 layout.
Menggunakan JPanel.
Letak default panel : FlowLayout
Menggunakan fungsi add(Component),
menambahkan komponen pada panel
Bina Nusantara
Panel ( lanjut .. )
• Contoh Panel
Bina Nusantara
Referensi
• Introduction to Java Programming. 7ed. Liang. 2009.
Chapter 13, hal 447
• GUI Basic




Bina Nusantara
http://en.wikipedia.org/wiki/Graphical_user_interface
http://en.wikipedia.org/wiki/JFrame
http://www.dreamincode.net/forums/showtopic17705.htm
http://www.ged.fi/DesignPatterns/