Abstract windowing toolkit & swing

Slides:



Advertisements
Presentasi serupa
Oleh: Mike Yuliana PENS-ITS
Advertisements

Pemrograman JAVA (TIB09)
Java Applets Pertemuan 7
Mendapatkan Input dari Keyboard
Mendapatkan Input dari Keyboard
BAHASA PEMROGRAMAN JAVA
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Konsep Abstract Windowing Toolkit (AWT)
GUI in Java.
Struktur Kode Program MIDlet As’ad Djamalilleil
Struktur Kode Aplikasi Java (2) As’ad Djamalilleil
GUI & Event Handling Viska Mutiawani, M.Sc.
Antarmuka Tingkat Bawah (Canvas)
Luas Daerah ( Integral ).
JAVA GUI (Graphical User Interface)
Modul 1- Review Java.
KONTROL ALUR EKSEKUSI PROGRAM
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Java Review Oleh: Idris Winarno.
Modul 9: antarmuka grafis (GUI) dalam window
Arranging Components on a User Interface Pertemuan 14 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Struktur Kontrol.
PBO - PERTEMUAN 9- JAVA GUI.
Graphic User Interface
Bahasa Pemrograman 3 Lab Bahasa Pemrograman 3
Layout Management Akhmad Zaini.
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
Modul 8: awt Setelah mengikuti mata kuliah ini mahasiswa dapat membuat program sederhana dalam lingkungan window Modul 8 - awt.
Membangun Aplikasi GUI
Mendapatkan input dari keyboard
Mendapatkan Input dari Keyboard
Layout Managers and Event Handling
Pemrograman Aplikasi Bergerak
Presented by : Ratri Enggar Pawening
KONSEP OOP DAN AWT [ RIO PRIANTAMA ].
Graphical User Interface (GUI)
GUI Event Handling.
GUI event handling.
Pemrograman Berorientasi Objek
Algoritma & Pemrograman 1
Java GUI Container Pertemuan 2
Dewi Kusumaningsih, M.Kom
Graphical User Interface
Pemrograman Berorientasi Obyek
1 Pertemuan 12 MEMBUAT USER INTERFACE DENGAN SWING Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
JAVA GUI SWING Kelompok 4 : M.Fadli Rozak ( )
KONSEP SWING.
PBOL Dewi Kusumaningsih
MENGUASAI LAYOUT MANAGER
Graphical User Interface (GUI)
Pertemuan 10 GUI (Graphical User Interface)
KONSEP AWT.
Java GUI PBO.
Dewi Kusumaningsih, M.Kom
Java User Interface (Swing)
Basic GUI Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 13 Tahun : 2008 Versi : 1/0.
Java Progamming Membangun GUI dengan Swing
GUI Event Handling.
GUI AWT & SWING Alpro-2.
JFC dan Swing U Abd. Rohim, MT mailto:
JAVA GUI (Graphical User Interface)
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
Pertemuan 13 MEMBUAT USER INTERFACE DENGAN SWING (LANJUTAN)
Graphical User Interface
Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Mendapatkan input dari keyboard
Bahasa Pemrograman (Pemrograman Visual)
Pemrograman Berorientasi Objek
Transcript presentasi:

Abstract windowing toolkit & swing

Pembahasan Abstract Windowing Toolkit (AWT) vs. Swing Komponen GUI pada AWT Dasar Class Window Graphics Komponen AWT lanjut

Pembahasan Layout Manager Swing GUI Components FlowLayout Manager BorderLayout Manager GridLayout Manager Panel dan Tampilan kompleks Swing GUI Components Pengaturan Top-Level Containers Sebuah contoh JFrame Sebuah contoh JOptionPane

Abstract Windowing Toolkit (AWT) vs. Swing Persamaan : Tools yang disediakan Java untuk membangun aplikasi GUI Menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet Java Foundation Classes (JFCs)‏ Bagian penting dari Java SDK Sekumpulan API yang menyederhanakan pembuatan aplikasi Java GUI Terdiri dari lima APIs utama AWT Swing Java2D Accessibility Drag and Drop

Abstract Windowing Toolkit (AWT) vs. Swing Beberapa komponen AWT menggunakan native code Platform-dependent Memastikan elemen Look and Feel dari aplikasi pada mesin yang berbeda dapat dibandingkan Swing Ditulis menggunakan Java seluruhnya Platform-independent Memastikan aplikasi yang dibangun pada platform yang berbeda akan memiliki tampilan yang sama Dibangun dengan beberapa API yang mengimplementasikan beberapa bagian AWT Dapat digunakan bersama AWT

AWT GUI Components: Dasar class Window Komponen GUI seperti buttons dan text fields diletakkan pada container .

AWT GUI Components: Method dari class Window Class Mengatur ukuran window : void setSize(int width, int height) void setSize(Dimension d) Dimension d memiliki width dan height seperti pada fields Sebuah window secara default statusnya adalah not visible. Atur visibility window : void setVisible(boolean b)‏ jika b bernilai true, window akan ditampilkan (diset menjadi visible)

AWT GUI Components: Dasar class Window Object Frame digunakan pada saat mendesain aplikasi berbasis GUI: import java.awt.*; /* Mencoba tombol pada Frame */ public class SampleFrame extends Frame { public static void main(String args[]) { SampleFrame sf = new SampleFrame(); sf.setSize(100, 100); //coba dihilangkan sf.setVisible(true); //coba dihilangkan }

AWT GUI Components: Graphics Methods pada class Graphics (abstract) : Konstruktor class Color :

AWT GUI Components: Contoh Graphics import java.awt.*; public class GraphicPanel extends Panel { GraphicPanel() { setBackground(Color.black); } public void paint(Graphics g) { g.setColor(new Color(0,255,0)); //hijau g.setFont(new Font("Helvetica",Font.PLAIN,16)); g.drawString("Hello GUI World!", 30, 100); g.setColor(new Color(1.0f,0,0)); //merah g.fillRect(30, 100, 150, 10); //bersambung...

AWT GUI Components: Contoh Graphics /* perlu menggunakan Panel dalam Frame */ public static void main(String args[]) { Frame f = new Frame("Testing Graphics Panel"); GraphicPanel gp = new GraphicPanel(); f.add(gp); f.setSize(600, 300); f.setVisible(true); }

Komponen AWT Lanjut AWT controls Komponen yang mengijinkan user untuk berinteraksi dengan aplikasi GUI Merupakan subclass-subclass dari class komponen lain

Komponen AWT Lanjut: Contoh import java.awt.*; class FrameWControls extends Frame { public static void main(String args[]) { FrameWControls fwc = new FrameWControls(); fwc.setLayout(new FlowLayout()); fwc.setSize(600, 600); fwc.add(new Button("Test Me!")); fwc.add(new Label("Labe")); fwc.add(new TextField()); CheckboxGroup cbg = new CheckboxGroup(); fwc.add(new Checkbox("chk1", cbg, true)); fwc.add(new Checkbox("chk2", cbg, false)); fwc.add(new Checkbox("chk3", cbg, false)); //bersambung...

Komponen AWT Lanjut: Contoh List list = new List(3, false); list.add("MTV"); list.add("V"); fwc.add(list); Choice chooser = new Choice(); chooser.add("Avril"); chooser.add("Monica"); chooser.add("Britney"); fwc.add(chooser); fwc.add(new Scrollbar()); fwc.setVisible(true); }

Layout Managers Definisi : Beberapa layout managers dalam Java Menentukan posisi dan ukuran komponen dalam container Mengatur layout komponen dalam container Beberapa layout managers dalam Java FlowLayout BorderLayout GridLayout GridBagLayout CardLayout

Layout Managers: Method Mengatur layout manager: void setLayout(LayoutManager mgr) Dapat berupa null, tidak menggunakan layout manager Jika tidak ada layout manager yang digunakan, posisikan tiap elemen secara manual public void setBounds(int x, int y, int width, int height)‏ Method dari class Component Lebih sulit dan melelahkan jika menggunakan banyak object Component Perlu menggunakan method ini tiap object dipanggil

Layout Managers: FlowLayout Manager Default manager untuk class Panel dan subclass-subclass - nya Class Applet adalah subclass dari Panel Memposisikan komponen dari kiri ke kanan dan atas ke bawah, dimulai dari sudut kiri atas : Menggunakan text editor

Layout Managers: FlowLayout Manager Memiliki 3 konstruktor:

Layout Managers: FlowLayout Manager Gap : Memberikan jarak antar komponen Diukur dengan satuan pixel Kemungkinan alignment: FlowLayout.LEFT FlowLayout.CENTER FlowLayout.RIGHT

Layout Managers: FlowLayout Manager import java.awt.*; class FlowLayoutDemo extends Frame { public static void main(String args[]) { FlowLayoutDemo fld = new FlowLayoutDemo(); fld.setLayout(new FlowLayout(FlowLayout.RIGHT,10, 10)); fld.add(new Button("ONE")); fld.add(new Button("TWO")); fld.add(new Button("THREE")); fld.setSize(100, 100); fld.setVisible(true); }

Layout Managers: FlowLayout Manager Contoh output:

Layout Managers: BorderLayout Manager Default layout untuk object Window dan subclass-suclass-nya Termasuk Frame dan Dialog Membagi object Container menjadi lima bagian dimana object Component digunakan North - membentang horizontal South - membentang horizontal East - teratur vertikal West - teratur vertikal Center - teratur dalam dua arah

Layout Managers: BorderLayout Manager Memiliki dua konstruktor Parameters hgap dan vgap menunjukkan jarak antar komponen dalam container

Layout Managers: BorderLayout Manager Menambahkan komponen pada area tertentu : Gunakan method add dan berikan dua argumen : Komponen yang akan ditambahkan Area tempat komponen akan diletakkan Hanya satu komponen dapat diletakkan dalam satu area Area yang diperbolehkan: BorderLayout.NORTH BorderLayout.SOUTH BorderLayout.EAST BorderLayout.WEST BorderLayout.CENTER

Layout Managers: BorderLayout Manager import java.awt.*; class BorderLayoutDemo extends Frame { public static void main(String args[]) { BorderLayoutDemo bld = new BorderLayoutDemo(); bld.setLayout(new BorderLayout(10, 10)); bld.add(new Button("NORTH"), BorderLayout.NORTH); bld.add(new Button("SOUTH"), BorderLayout.SOUTH); bld.add(new Button("EAST"), BorderLayout.EAST); bld.add(new Button("WEST"), BorderLayout.WEST); bld.add(new Button("CENTER"), BorderLayout.CENTER); bld.setSize(200, 200); bld.setVisible(true); }

Layout Managers: BorderLayout Manager Contoh output: Setelah diatur ulang :

Layout Managers: GridLayout Manager Serupa dengan FlowLayout Memposisikan komponen dari kiri ke kanan dan atas ke bawah Dimulai dari sudut kiri atas Memisahkan container menjadi baris dan kolom Area memiliki ukuran yang sama Tidak mempedulikan ukuran sebenarnya dari komponen

Layout Managers: GridLayout Manager Memiliki Konstruktor sebagai berikut:

Layout Managers: GridLayout Manager import java.awt.*; class GridLayoutDemo extends Frame { public static void main(String args[]) { GridLayoutDemo gld = new GridLayoutDemo(); gld.setLayout(new GridLayout(2, 3, 4, 4)); gld.add(new Button("ONE")); gld.add(new Button("TWO")); gld.add(new Button("THREE")); gld.add(new Button("FOUR")); gld.add(new Button("FIVE")); gld.setSize(200, 200); gld.setVisible(true); }

Layout Managers: GridLayout Manager Contoh output: Setelah pengaturan ulang:

Panel dan Tampilan Kompleks Dapat mengkombinsaikan layout manager yang berbeda Menggunakan Panel dalam satu waktu Perlu diingat : Panel adalah sebuah Container sekaligus Component Dapat memasukkan Components ke dalam Panel Dapat menambahkan Panel dalam sebuah Container

Panel dan Tampilan Kompleks import java.awt.*; class ComplexLayout extends Frame { public static void main(String args[]) { ComplexLayout cl = new ComplexLayout(); Panel panelNorth = new Panel(); Panel panelCenter = new Panel(); Panel panelSouth = new Panel(); /* North Panel */ //Panels menggunakan FlowLayout sebagai default panelNorth.add(new Button("ONE")); panelNorth.add(new Button("TWO")); panelNorth.add(new Button("THREE")); //bersambung...

Panel dan Tampilan Kompleks /* Center Panel */ panelCenter.setLayout(new GridLayout(4,4)); panelCenter.add(new TextField("1st")); panelCenter.add(new TextField("2nd")); panelCenter.add(new TextField("3rd")); panelCenter.add(new TextField("4th")); /* South Panel */ panelSouth.setLayout(new BorderLayout()); panelSouth.add(new Checkbox("Choose me!"), BorderLayout.CENTER); panelSouth.add(new Checkbox("I'm here!"), BorderLayout.EAST); panelSouth.add(new Checkbox("Pick me!"), BorderLayout.WEST); //bersambung...

Panel dan Tampilan Kompleks /* memasukkanPanels dalam container Frame */ //Frame menggunakan BorderLayout secara default cl.add(panelNorth, BorderLayout.NORTH); cl.add(panelCenter, BorderLayout.CENTER); cl.add(panelSouth, BorderLayout.SOUTH); cl.setSize(300,300); cl.setVisible(true); }

Panel dan Tampilan Kompleks Contoh output:

Komponen Swing GUI Teletak pada package javax.swing Seluruhnya ditulis dalam Java Memiliki Look and Feel yang sama meskipun dijalankan pada platform yang berbeda Menyediakan komponen yang lebih menarik Color chooser Option pane

Komponen Swing GUI Nama dari komponen Swing GUI hampir menyerupai AWT Nama dari komponen AWT namun diawali dengan J Contoh: AWT: Button class Pada komponen Swing : JButton class

Komponen Swing GUI

Komponen Swing GUI

Swing: Pengaturan Top-Level Container Top-level containers dalam Swing umumnya tidak cocok dengan AWT Dalam hal menambahkan komponen dalam container Menambahkan sebuah komponen dalam container: Menggunakan content pane dari container Gunakan method getContentPane Menambahkan komponen dalam content pane Masih menggunakan method add

Swing: Contoh JFrame import javax.swing.*; import java.awt.*; class SwingDemo { JFrame frame; JPanel panel; JTextField textField; JButton button; Container contentPane; public static void main(String args[]) { SwingDemo sd = new SwingDemo(); sd.launchFrame(); } //bersambung...

Swing: Contoh JFrame void launchFrame() { /* inisialisasi */ frame = new JFrame("My First Swing Application"); panel = new JPanel(); textField = new JTextField("Default text"); button = new JButton("Click me!"); contentPane = frame.getContentPane(); //menambahkan komponen pada panel-FlowLayout panel.add(textField); panel.add(button); /* menambahkan komponen pada contentPane */ contentPane.add(panel, BorderLayout.CENTER); frame.pack(); //Ukuran frame berdasar komponen frame.setVisible(true); }

Swing: Contoh JFrame Inisialisasi dan menambahkan components Package java.awt tetap di-import Layout Manager yang digunakan terletak pada package ini Memberikan judul Frame dan membungkus komponen dalam Frame dapat digunakan pula pada Frame AWT Konvensi Pemrograman : Deklarasikan komponen sebagai field : Sebuah method launchFrame terdifinisi: Inisialisasi dan menambahkan components Tidak lagi hanya meng-extend class Frame Kelebihan : teratur dan lebih mudah untuk menambahkan kode event handling

Swing: Contoh JFrame Contoh output:

Swing: Contoh JoptionPane import javax.swing.*; class JOptionPaneDemo { JOptionPane optionPane; void launchFrame() { optionPane = new JOptionPane(); String name = optionPane.showInputDialog( "Hi, what's your name?"); optionPane.showMessageDialog(null, "Nice to meet you, " + name + ".", "Greeting...",optionPane.PLAIN_MESSAGE); System.exit(0); } public static void main(String args[]) { new JOptionPaneDemo().launchFrame(); } }

Swing: Contoh JOptionPane Contoh output:

Kesimpulan Component, Container, Window, Frame, Panel Abstract Windowing Toolkit (AWT) vs. Swing Persamaan Perbedaan Komponen AWT GUI Class Window Dasar Component, Container, Window, Frame, Panel Graphics Methods dan class Color Komponen AWT Lanjut Label, TextField, TextArea, Button, Checkbox, CheckboxGroup, Choice, List, Scrollbar

Kesimpulan Gunakan method getContentPane Gunakan method add Layout Managers FlowLayout Manager BorderLayout Manager GridLayout Manager Membuat Tampilan Kompleks Komponen Swing GUI Mengatur Top-Level Containers Gunakan method getContentPane Gunakan method add JFrame, JOptionPane