Pengertian dan macam macam Layout Manager Artikel ini hanyalah sebuah contoh untuk yang lebih lengkap

dan lebih jelas bisa download link di bawah Pengertian Layout Manager Digunakan dalam organisasi dari panel dan bingkai. Tata letak yang tetap seharusnya dipilih untuk mengakomodasikan, resizings frame dan penggunaan

 

layout manager bertugas menyusun komponen-komponen(button, label, checkbox, dll) di dalam suatu container (panel, frame, dll). Layout manager menentukan posisi danukuran setiap komponen di dalam container. Proses ini akan berbeda untuk setiap class layout yang digunakan. AWT dan Swing memiliki beberapa layout manager standar yang penggunaannya seringkali dikombinasikan sesuai situasi dan kebutuhan kita. Untuk mengubah Default Layout Manager setiap container memiliki default layout manager.

Pada saat kita membuat sebuah container (misal: panel, frame, tabbed pane, split pane, dll), maka container tsb memiliki objek LayoutManager masing-masing. Kita dapat mengubah layout manager default tersebut dengan suatu layout yang baru dengan menggunakan method “setLayout()” Contoh:

 

Default layout manager untuk JFrame adalah: FlowLayout Kita dapat mengubah layout tersebut misalnya:myFrame.setLayout(new BorderLayout()); Macam-macam Standard Layout Manager terdiri dari: dengan cara

Penggunaan FlowLayout Contoh: JPanel panel1 = new JPanel().             FlowLayout GridLayout BorderLayout BoxLayout CardLayout GridBagLayout SpringLayout GroupLayout 1.setLayout(new FlowLayout()). flow layout menggunakan justification CENTER. Hanya satu baris yang digunakan. kita tidak disarankan menggunakan FlowLayout karena sifatnya yang tidak bisa memposisikan komponen dengan pasti. FlowLayout dapat memiliki “row justification”: LEFT. Ada 3 constructor untuk GridLayout: bentuk “rectangular GridLayout(): membuat layout dengan satu kolom per komponen. atau RIGHT serta “padding” horizontal/vertical. int vgap): membuat layout berdasarkan jumlah baris dan kolom yang diinginkan. dengan posisi mulai dari kiri ke kanan dan dari atas ke bawah di dalam container yang digunakan. FlowLayout FlowLayout merupakan layout manager yang simpel.panel1. Secara default. CENTER. GridLayout menempatkan komponen dengan urutan dari kiri ke kanan dan dari atas ke bawah.     2. GridLayout GridLayout menempatkan komponen dalam grid”. semua komponen akan disimpan di posisi tengah-tengah. Penggunaan GridLayout   . int hgap. FlowLayout menyusun komponen berdasarkan ukuran defaultmasingmasing. int cols): membuat suatu layout berdasarkan jumlah baris dan kolom yang diinginkan. Artinya. FlowLayout merupakan default untuk JPanel. untuk aplikasi sesungguhnya. int cols. GridLayout(int rows. GridLayout(int rows. GridLayout akan memaksa setiap komponen untuk menempati space container yang kosong serta membagi rata ukuran space tersebut. serta ukuran jarak (gap) horisontal maupun vertical untuk setiap baris dan kolom tersebut. Pada dasarnya.

SOUTH. BorderLayout. 1)). EAST. and CENTER. Penggunaan BorderLayout   Pada saat menambahkan suatu komponen kepada container yang memiliki border layout. WEST.add(new JButton("Button1").add(panel2). frame. kita tidak mempedulikan berapa banyak komponen yang akan masuk ke dalam dimensi layout manager tersebut.0) Artinya: kita membuat layout manager dengan 2 baris dan unlimited number untuk kolomnya. BorderLayout     BorderLayout menyusun komponen berdasarkan NORTH. BorderLayout merupakan layout default untuk JWindowdan JFrame. Contoh: frame.SOUTH ). Contoh: frame. Artinya. salah satunya adalah: BoxLayout.add(new JButton("Button2"). 4.setLayout(new GridLayout(2. Karena setiap komponen diasosiasikan dengan suatu arah geografis. Javax. kita dapat juga memberikan paddingdi antara komponen.NORTH ).  GridLayout paling cocok digunakan untuk menyusun komponen yang berukuran sama. BoxLayout    Layout manager yang telah kita bahas sebelumnya merupakan bagian dari package java. Apa yang terjadi kalau kita memiliki 10 komponen? 3. .awt.setLayout(new BorderLayout( )). BorderLayout.add(panel1).  Contoh: GridLayout(2. kita harus menentukan secara bersamaan komponen-nya dan posisi-nya.swingmemiliki beberapa tambahan layout manager lagi. frame. misalnya 2 buah JPanel berukuran sama di dalam sebuah frame. Layout manager ini sangat berguna untuk membuat toolbarssederhana atau vertical button bars. lokasi geografis: Secara optional. frame. Kita dapat men-set jumlah baris dan kolom dengan angka 0. frame. akibatnya layout ini hanya dapat menangani maksimal 5 komponen.

yaitu: createHorizontalBox() untuk membuat box horizontal createHorizontalGlue() untuk merekatkan komponen createHorizontalStrut(int n) untuk memberi jarak antar komponen createVerticalBox() untuk membuat box vertical createVerticalGlue() untuk merekatkan komponen createVerticalStrut(int n) untuk memberi jarak antar komponen     5. Box memiliki beberapa methodsyang akan mempermudah kita dalam menggunakan BoxLayout manager.terdapat komponen lainnya. kita dapat menciptakan layout apapun juga. CardLayout CardLayout merupakan layout manager yang mampu menciptakan efek “tumpukan” komponen. GridBagLayout      GridBagLayout merupakan layaout manager yang sangat fleksibel. Komponen disusun pada koordinat tertentu pada sebuah grid yang disebut “logical coordinate”. Logical coordinate berarti bahwa koordinat suatu komponen ditentukan oleh sekumpulan komponen lainnya. Swing menyediakan sebuah kelas yang bernama Boxyaitu sebuah container yang secara otomatismemiliki BoxLayout manager. Namun. kita perlu mempelajari terlebih dahulu mengenai “event-driven programming” seperti yang ada di Latihan 5. Layout ini memampukan kita untuk memposisikan komponen relatif terhadap komponen lainnya berdasarkan constraint tertentu. Cara kerjanya sangat sederhana yaitu menempatkan komponen dalam satu baris atau satu kolom. Dengan menggunakan GridBagLayout. sebenarnya kita dapat membuat panel tersebut dengan menggunakan komponen JTabbedPane. layout ini tidak memposisikan komponen di lokasi-lokasi tertentu di dalam kontainer. Artinya.Di balik button “one”. Penggunaan BoxLayout Untuk mempermudah penggunaan BoxLayout. tanpa batas. Penggunaan CardLayout    Penggunaan CardLayout biasanya untuk membuat panel yang bersifat custom-tabbed. 6. melainkan menampilkannya satu demi satu. . Untuk mempraktekkan cara kerja dan efek “tumpukan”dari CardLayout ini.

(contohnya: NetBeans IDE) 7. ( SpringLayout. . 10 . penggunaan GridBagLayout ini jauh lebih mudah apabila kita menggunakan tools yang mendukung WYSIWYG GUI builder.swing. Baris dan kolom dari grid tersebut bersifat “stretch” yang bergantung pada sizedan constraintyang dimilikinya.add contentPane.putConstraint left right ( = new SpringLayout layout = new JLabel = new JTextField ) () { { .JFrame. . StringLayout SpringLayout adalah manajer layout yang fleksibel yang dirancang untuk digunakan oleh pembangun GUI.getContentPane () SpringLayout layout contentPane.NORTH.Component.Container.JLabel. . import java.swing. ( SpringLayout. import javax. . import javax.awt. Sebenarnya. .WEST.swing. SpringLayout.setLayout Component Component contentPane. Anda mungkin mendefinisikan bahwa tepi kiri satu komponen adalah jarak tertentu (yang dapat dinamis dihitung) dari tepi kanan dari komponen kedua. ) .SpringLayout.add layout. Contoh progam import java. ( "Left" ) ( 15 ) ( left ) . left.setDefaultCloseOperation ( JFrame.NORTH. Sebagai contoh. SpringLayout. import javax.EXIT_ON_CLOSE ) Container contentPane = frame.awt.swing. Penggunaan GridBag   Walaupun fleksibel.WEST. import javax. left.putConstraint contentPane layout. ( right ) .JTextField. Ini memungkinkan Anda menentukan hubungan yang tepat antara tepi komponen di bawah kontrol. . pembuatan GridBag ini terkadang sangat membingungkan karena kita harus mengatur berbagai sizedan constraint dari setiap komponen yang digunakan. . 25 . public class SpringSample public static void main ( String args []) JFrame frame = new JFrame ( "SpringLayout" ) frame.

frame. Tata letak didefinisikan untuk setiap dimensi secara independen.WEST. GroupLayout GroupLayout adalah manajer layout yang dikembangkan untuk digunakan oleh alat pembangun GUI. right. . Jendela Cari ditunjukkan di atas adalah contoh dari GroupLayout . layout.setVisible } } ( 300 . . 8.contentPane ) . contentPane ) . Akibatnya.NORTH.setSize frame. left ) . 100 ) ( true ) . SpringLayout. right. layout. SpringLayout. tetapi juga dapat digunakan secara manual.putConstraint ( SpringLayout.EAST. 25 .NORTH. GroupLayout bekerja dengan layout horisontal dan vertikal secara terpisah.putConstraint ( SpringLayout. bagaimanapun. 20 . setiap komponen harus didefinisikan dua kali dalam tata letak.

Sign up to vote on this title
UsefulNot useful