200 likes | 375 Views
Basic GUI. Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 13 Tahun : 2008 Versi : 1/0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Mendemonstrasikan pemograman Java menggunakan Grafik User Interface.
E N D
Basic GUI Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 13 Tahun : 2008 Versi : 1/0
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Mendemonstrasikan pemograman Java menggunakan Grafik User Interface.
Outline Materi • Introduction • Java GUI API • Swing VS AWT • Frame • Adding Component to a Frame • Layout Manager • Panel
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.
Java GUI API • Kelas-kelas GUI diklasifikasikan menjadi 3 group : • Container Classes JFrame, JPanel, dan JApplet • Component Classes JButton, JTextField, JTextArea, JComboBox, JList, JRadioButton dan JMenu , adalah subclasses dari JComponent. • Helper Classes Graphics, Color, Font, FontMetrics dan Dimension.
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
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 komponen-komponen yang ada di dalam frame.
Frame ( lanjut .. ) • Contoh Kode : • Output : 400 300
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);
Adding Component to a Frame( lanjut .. ) • Contoh Kode : • Output : 1 buah Button yang dihandle oleh 1 content pane frame tersebut
Layout Manager • Mengatur tampilan komponen-komponen pada kontainer. • Ada 3 layout manager dasar : • FlowLayout • GridLayout • BorderLayout
Layout Manager( lanjut ..) • FlowLayout • Simple Layout Manager • Peletakan komponen perbaris dari kiri ke kanan • 3 Konstanta : • FlowLayout.RIGHT • FlowLayout.CENTER • FlowLayout.LEFT
Layout Manager( lanjut ..) • Contoh FlowLayout
Layout Manager( lanjut ..) • GridLayout • Diatur dalam grid (matix) • Dapat mendefinisikan jumlah baris dan kolom waktu dipanggil konstruktor
Layout Manager( lanjut ..) • Contoh GridLayout
Layout Manager( lanjut ..) • BorderLayout • Terdiri dari 5 area peletakan : • BorderLayout.EAST • BorderLayout.SOUTH • BorderLayout.WEST • BorderLayout.NORTH • BorderLayout.CENTER
Layout Manager( lanjut ..) • Contoh BorderLayout
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
Panel ( lanjut .. ) • Contoh Panel
Referensi • Introduction to Java Programming. 7ed. Liang. 2009. Chapter 13, hal 447 • GUI Basic • 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/