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

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

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

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

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

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