P. 1
Abstract Windowing Toolkit Dan Swing

Abstract Windowing Toolkit Dan Swing

|Views: 11|Likes:
Published by Dwita Nurul Aisya

More info:

Published by: Dwita Nurul Aisya on Jun 04, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

08/19/2013

pdf

text

original

Abstract Windowing Toolkit dan Swing

Pemrograman Visual 05/04/2010

Tujuan
 Memahami persamaan dan perbedaan antara AWT dan Swing  Perbedaan antara komponen dan kontainer.  Mendesain aplikasi GUI menggunakan AWT.  Mendesain aplikasi GUI menggunakan Swing.  Menjelaskan tentang flow layout, border layout, dan grid layout dalam komponen GUI  Membuat tampilan yang komplek dalam mendesain aplikasi GUI.

Abstract Windowing Toolkit (AWT) vs. Swing
 The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK, yang termasuk dalam koleksi dari API dimana dapat mempermudah pengembangan aplikasi JAVA GUI. JFC termasuk diantara 5 bagian utama dari API yaitu AWT dan Swing. Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag dan Drop. Semua itu membantu pengembang dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik. AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya, komponen AWT dapat digunakan bersama komponen Swing.

Komponen GUI pada AWT  Window Classes Fundamental .

//Coba hilangkan baris ini sf.awt. 100).setSize(100.setVisible(true). sf.Contoh : import java. //Coba hilangkan baris ini } } . public class SampleFrame extends Frame { public static void main(String args[]) { SampleFrame sf = new SampleFrame().*.

Contoh(2)  perhatikan bahwa tombol tutup pada frame tidak akan bekerja karena tidak ada mekanisme event handling yang ditambahkan di dalam aplikasi. . Anda akan belajar tentang event handling pada modul selanjutnya.

Grafik  Beberapa method grafik ditemukan dalam class Graphic. Dibawah ini adalah daftar dari beberapa method .

dimana memiliki tiga constructor. .Grafik(2)  Hubungan dari class ini adalah class Color.

10).setSize(600.*.0. 30. g.add(gp). //Konstanta dalam class Color } public void paint(Graphics g) { g. f. //red g. 150.16)). f. 100). f.setColor(new Color(1. } } .0f. g.PLAIN.0)). GraphicPanel gp = new GraphicPanel().Font.black). public class GraphicPanel extends Panel { GraphicPanel() { setBackground(Color.fillRect(30.0)).setFont(new Font("Helvetica". 300). 100.setColor(new Color(0.drawString("Hello GUI World!".255.Grafik(3) //Contoh : import java. } public static void main(String args[]) { Frame f = new Frame("Testing Graphics Panel"). //hijau g.setVisible(true).awt.

Beberapa komponen AWT Berikut adalah aplikasi membuat sebuah frame dengan kontrol yang telah dimasukkan di dalamnya. .

fwc.setLayout(new FlowLayout()).add(new Label("Labe")).Contoh Frame dengan Control import java.awt.add(new Button("Test Me!")).setSize(600. 600).add(new TextField()). //akan dibahas lebih //detail pada pembahasan berikutnya fwc. class FrameWControls extends Frame { public static void main(String args[]) { FrameWControls fwc = new FrameWControls().*. fwc. fwc. . fwc.

fwc. chooser. list. true)). chooser. fwc. false)). cbg.add(new Checkbox("chk3".add(new Checkbox("chk1". fwc.setVisible(true). cbg.add(list).Contoh Frame dengan Control(2) CheckboxGroup cbg = new CheckboxGroup(). list.add("Monica").add(chooser). fwc. List list = new List(3.add("V"). fwc.add(new Scrollbar()). fwc. fwc. Choice chooser = new Choice(). false).add(new Checkbox("chk2". false)). } } . cbg.add("Avril").add("MTV").add("Britney"). chooser.

BorderLayout 3. Layout manager mengatur tampilan dari komponen di dalam kontainer.FlowLayout 2. Beberapa Layout Manager : 1. Berikut ini beberapa layout manager yang terdapat di dalam Java.GridLayout 4.CardLayout .GridBagLayout 5.Layout Manager Posisi dan ukuran suatu komponen ditentukan oleh layout manager.

Method ini dapat ditulis sebagai berikut.Layout Manager(2)  Layout manager dapat diatur menggunakan method setLayout dari class Container. void setLayout(LayoutManager mgr) .

Cara meletakkan komponen dari FlowLayout Manager dimulai dari kiri ke kanan dan dari atas ke bawah. termasuk class applet.FlowLayout Manager  FlowLayout Manager adalah default manager untuk class Panel dan subclassnya. . dimulai dari pojok kiri atas.

FlowLayout Manager(2) .

FlowLayout Manager(3)  Gap dapat dikatakan sebagai jarak antara komponen dan biasanya diukur dengan satuan pixel.FlowLayout.CENTER 3.FlowLayout.FlowLayout. Posisi argumen mengikuti penulisan sebagai berikut : 1.LEFT 2.RIGHT .

100).setSize(100. fld.*.setLayout(new FlowLayout(FlowLayout.setVisible(true). } } . class FlowLayoutDemo extends Frame { public static void main(String args[]) { FlowLayoutDemo fld = new FlowLayoutDemo().add(new Button("THREE")).add(new Button("TWO")).Bagaimanakah output dari program berikut? import java.10)).add(new Button("ONE")). fld.10. fld.awt. fld. fld.RIGHT. fld.

BorderLayout Manager  BorderLayout membagi kontainer menjadi lima bagian diantaranya utara. . Region utara dan selatan membentuk jalur horizontal sedangkan region timur dan barat membentuk jalur vertikal. termasuk object dari subclass Window yaitu tipe Frame dan Dialog. timur. Tampilan ini adalah bersifat default untuk object Window. dan tengah. Setiap komponen dimasukkan ke dalam region yang spesifik. Dan region tengah berada pada perpotongan jalur horizontal dan vertikal. barat. selatan.

BorderLayout Manager(2) .

parameter hgap dan vgap disini juga menjelaskan jarak antara komponen dengan kontainer. Berikut ini adalah daftar dari kelima region.BorderLayout Manager(3)  Seperti pada FlowLayout Manager. Menambahkan lebih dari satu komponen pada kontainer yang bersangkutan.EAST 4.CENTER .WEST 5. 1. BorderLayout. maka komponen yang terakhir ditambahkan yang akan ditampilkan. gunakan method menambahkan dan melewatkan dua argumen yaitu : komponen yang ingin dimasukkan ke dalam region dan region mana yang ingin dipakai untuk meletakkan komponen. BorderLayout. BorderLayout. Perlu diperhatikan bahwa hanya satu komponen yang dapat dimasukkan dalam satu region.NORTH 2.SOUTH 3. BorderLayout. Untuk menambahkan komponen kedalam region yang spesifik. BorderLayout.

bld. BorderLayout. BorderLayout. //may remove bld. bld.setVisible(true). BorderLayout. bld. bld.add(new Button("EAST"). bld.SOUTH).*.add(new Button("WEST"). 10)). } } .add(new Button("SOUTH").add(new Button("NORTH"). bld.contoh program import java.setLayout(new BorderLayout(10. BorderLayout.CENTER). bld.EAST).awt. class BorderLayoutDemo extends Frame { public static void main(String args[]) { BorderLayoutDemo bld = new BorderLayoutDemo().add(new Button("CENTER").WEST). BorderLayout.setSize(200.NORTH). 200).

GridLayout Manager  Dengan GridLayout manager. Semua region memiliki ukuran yang sama. GridLayout manager membagi kontainer menjadi baris dan kolom. komponen juga diposisikan dari kiri ke kanan dan dari atas ke bawah seperti pada FlowLayout manager. Hal tersebut tidak mempedulikan ukuran sebenarnya dari komponen. . Berikut ini adalah daftar dari constructor untuk class GridLayout.

Anda dapat memasukkan komponen ke dalam panel dan kemudian menambahkan panel ke dalam region yang Anda inginkan di dalam kontainer. .Panel dan Tampilan kompleks  Untuk membuat tampilan yang lebih lengkap. Anda dapat menggabungkan layout manager yang berbeda dengan menggunakan panel. Ingatlah bahwa panel adalah kontainer dan komponen pada saat yang sama.

awt. panelNorth.Panel dan Tampilan kompleks(2) Perhatikan teknik yang digunakan pada contoh berikut import java.*.add(new Button("TWO")). /* Panel utara */ //Panel menggunakan FlowLayout sebagai default panelNorth. Panel panelNorth = new Panel(). Panel panelCenter = new Panel().add(new Button("ONE")). panelNorth. class ComplexLayout extends Frame { public static void main(String args[]) { ComplexLayout cl = new ComplexLayout(). Panel panelSouth = new Panel().add(new Button("THREE")). .

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

BorderLayout.Panel dan Tampilan kompleks(4) /* Menambahkan panel pada container Frame*/ //Frame menggunakan BorderLayout sebagai default cl. cl.add(panelSouth.setVisible(true). cl.300). BorderLayout. cl. cl.setSize(300.SOUTH). } } .CENTER).add(panelCenter. BorderLayout.NORTH).add(panelNorth.

Kesimpulannya. Lebih dari itu.swing.Komponen Swing  Seperti pada package AWT. Package tersebut dapat ditemukan di javax. package dari Swing menyediakan banyak class untuk membuat aplikasi GUI. . program GUI ditulis menggunakan banyak class dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada paltform yang berbeda. Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane. Perbedaan utama antara keduanya adalah komponen Swing ditulis menyeluruh menggunakan Java.

Sebagai contoh. Pada dasarnya. Berikut adalah daftar dari komponen Swing. . satu komponen dalam AWT adalah button class. nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sedangkan pada Swing.Komponen Swing(2) Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. nama komponen tersebut menjadi Jbutton class.

Komponen Swing(3) .

Komponen Swing(4) .

pertama-tama Anda telah mendapatkan content pane dari kontainer. Ini adalah syarat menambahkan komponen ke dalam kontainer. Jika Anda ingin menambahkan langsung sebuah komponen kedalam kontainer sebagai kontainer AWT. Anda akan menggunakan method getContentPane dari container. Untuk melakukan hal tersebut. top-level containers seperti Jframe dan Japplet dalam Swing sangat tidak cocok dengan AWT. .Setting Up Top-Level Containers  Seperti disebutkan diatas.

button = new JButton("Click me!"). void launchFrame() { /* inisialisasi */ frame = new JFrame("My First Swing Application"). JPanel panel. JTextField textField.*. . Container contentPane. import java. textField = new JTextField("Default text"). panel = new JPanel(). public class SwingDemo { JFrame frame.getContentPane(). JButton button.*. contentPane = frame.Contoh Jframe import javax.awt.swing.

} public static void main(String args[]) { SwingDemo sd = new SwingDemo().add(button). /* menambahkan komponen-komponen contentPane– menggunakan BorderLayout */ contentPane.Contoh Jframe(2) /* menambahkan komponen-komponen ke panel– menggunakan FlowLayout sebagai default */ panel.launchFrame(). } } . //menyebabkan ukuran frame menjadi dasar pengaturan komponen frame. sd. panel.pack().add(textField).add(panel. BorderLayout.setVisible(true).CENTER). frame.

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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->