Dalam desain antarmuka, sebuah wadah harus ditempatkan di banyak komponen. Java.awt mendefinisikan berbagai kelas tata letak, setiap kelas tata letak sesuai dengan strategi tata letak. Kategori tata letak berikut:
• Flowlayout, komponen yang ditempatkan pada gilirannya.
• BoarderLayout, letakkan komponen di batas.
• Cardlayout, komponen tumpukan seperti kartu poker, dan hanya dapat menampilkan salah satu komponen setiap kali.
• Gridlayout membagi area tampilan menjadi kisi -kisi yang sama sesuai dengan garis dan kolom, dan komponen ditempatkan di kisi -kisi ini pada gilirannya.
• GridBaglayout membagi area tampilan menjadi banyak unit kecil, dan setiap komponen dapat menempati satu atau lebih unit kecil.
Di antara mereka, GridBaglayout dapat melakukan kontrol posisi yang baik, dan yang paling rumit.
Setiap wadah memiliki manajer tata letak, dan memutuskan cara mengatur komponen dalam wadah. Manajer Layout adalah kelas yang mengimplementasikan antarmuka LayoutManager.
1. Layout FLOWLAYOUT
Tata letak Flowlayout adalah untuk mengatur komponen dari kiri ke kanan sesuai dengan urutan penambahan, dan kemudian transfer ke jalur untuk melanjutkan dari kiri ke kanan setelah satu baris, dan komponen di setiap baris diatur di tengah. Ini adalah strategi tata letak termudah.
FlowLayout adalah tata letak default dari aplikasi dan panel kecil.
1.FlowLayout (), menghasilkan tata letak flowlayout default. Secara default, komponen berada di tengah, dengan 5 piksel.
2. Flowlayout (Int aligment), atur metode penyelarasan masing -masing komponen. Alignment dapat tersedia untuk flowlayout.Left, flowlayout.center, flowlayout.richt.
3.Flowlayout (int aligment, int horz, int vert), atur metode pelurusan, dan atur spasi horisontal dan jarak vertikal dari komponen, atur tata letak wadah dengan metode wadah super -class. Misalnya, kode setLayout (flowlayout baru ()) mengatur tata letak flowlayout untuk wadah. Metode menambahkan komponen ke wadah adalah add (nama komponen).
2. Borderlayout Layout (JWindow, JFrame, tata letak default JDialog)
Strategi tata letak Borderlayout adalah dengan sekadar membagi ruang dalam wadah ke lima wilayah "timur" timur, "barat", selatan "selatan", "utara" utara, dan "tengah". Saat bergabung dengan komponen, Anda harus menunjukkan area mana yang ditempatkan di mana komponen ditempatkan. Letakkan komponen pada suatu posisi. Jika Anda ingin menambahkan beberapa komponen di lokasi tertentu, Anda harus terlebih dahulu menambahkan komponen lokasi untuk menempatkan wadah lain, dan kemudian menambahkan wadah ke posisi ini.
Metode struktur tata letak batas adalah:
(1) BorderLayout (), menghasilkan tata letak BorderLayout default. Secara default, tidak ada celah.
(2) BorderLayout (int horz, int vert), atur jarak horizontal dan vertikal di antara komponen.
Metode pengaturan strategi tata letak BorderLayout adalah setLayout (borderlayout baru ()). Metode menambahkan komponen ke wadah adalah Tambah (nama komponen, lokasi).
Tata letak BorderLayout adalah tata letak default JWindow, JFrame, JDialog.
[Contoh 11-5] Aplikasi ini memiliki lima label, yang ditempatkan di lima wilayah di timur, barat, selatan, utara, dan tengah dan tengah, masing-masing.
Impor Javax.Swing.*; Jendela "); // Buat objek wadah jendela mw.setsize (250.200); container con = mw.getContentPane (); con.setlayout (borderlayout baru ()); label1 = jlabel baru (" tag timur "); / / / / / / Default Kiri untuk qi qi label2 = Jlabel baru ("tag selatan", jlabel.center); New Jlabel ("" Mid -label ", Jlabel.Center); .add (label4, "utara");
3. Tata letak GRIDLAYOUT
Tata letak Gridlayout adalah untuk membagi wadah menjadi bentuk kisi -kisi seperti grid. Karakteristik tata letak gridlayout adalah bahwa penentuan posisi komponen lebih akurat. Karena setiap kisi dalam tata letak Gridlayout memiliki bentuk dan ukuran yang sama, komponen yang diperlukan untuk dimasukkan ke dalam wadah juga harus mempertahankan ukuran yang sama.
Metode konstruktif tata letak gridlayout adalah:
(1) Gridlayout (), menghasilkan tata letak gridlayout -column tunggal. Secara default, tidak ada celah.
(2) Gridlayout (baris int, warna int), atur tata letak Gridlayout dengan baris dan kolom Col.
(3) Gridlayout (baris int, warna int, int horz, int vert), atur jumlah baris dan kolom tata letak, jarak horizontal dan vertikal komponen.
Tata letak Gridlayout didasarkan pada tolok ukur perilaku. prioritas (secara otomatis meningkat sesuai dengan komponen). Setiap kisi tata letak gridlayout harus diisi dalam komponen.
[Contoh 11-6] Aplikasi kecil pertama-tama menempatkan beberapa tombol dan beberapa label di JPanel, kemudian menempatkan Jpanel di jscrollpane. dari persyaratan panel yang sebenarnya.
Impor Java.Applet.*; Dimensi baru (W, H)); ++) {p.add (jLabel baru ()); ); (W+60, H+60)); ();}} Scrolpane excrollpane {scrollpane publik (komponen p) {super (p); jendela; {MyWindow = myWindow baru (400, 350);}}
Tata letak Gridlayout membutuhkan ukuran semua komponen agar konsisten, yang mungkin tidak cukup indah untuk menggunakan penampilan antarmuka. Obat adalah menggabungkan beberapa komponen dalam wadah, kemudian gunakan wadah ini sebagai komponen, dan kemudian masukkan ke dalam tata letak Gridlayout. Ini adalah sarang wadah yang disebutkan sebelumnya. Misalnya, Container A menggunakan tata letak Gridlayout untuk membagi wadah menjadi kisi -kisi; Kontainer B dan C juga dapat diatur ke tata letak Gridlayout, membaginya menjadi beberapa kisi, atau juga dapat diatur ke tata letak lainnya. Dengan cara ini, dari penampilan, ukuran masing -masing komponen berbeda.
4. Layout Cardlayout
Meskipun wadah yang menggunakan tata letak CardLayout dapat mengakomodasi banyak komponen, beberapa komponen memiliki ruang tampilan yang sama, dan hanya satu komponen yang dapat ditampilkan pada saat tertentu. Sama seperti setumpuk kartu poker hanya dapat menampilkan yang teratas sekaligus, komponen yang ditampilkan ini akan menempati semua ruang wadah. Langkah -langkah desain tata letak cardlayout adalah sebagai berikut:
Pertama -tama buat objek tata letak kartu. Kemudian, gunakan metode setLayout () untuk mengatur tata letak untuk wadah. Sebagian besar, metode add () memanggil wadah menambahkan komponen ke wadah. Metode menambahkan komponen strategi tata letak kartu adalah:
Tambah (Kode Komponen, Komponen);
Kode komponen adalah string, yang diberikan secara terpisah dan tidak ada hubungannya dengan nama komponen.
Misalnya, kode berikut menetapkan tata letak CardLayout untuk wadah JPanel:
Cardlayout mycard = cardlayout baru ();
Ada dua cara untuk menampilkan komponen dalam metode yang disediakan oleh kelas CardLayout:
(1) Kode dalam bentuk show (nama kontainer, kode komponen), dan tentukan tampilan komponen dalam wadah. Misalnya, kode berikut menentukan komponen wadah P untuk menampilkan komponen ini:
MyCard.Show (P, K);
(2) Komponen ditampilkan agar menambahkan wadah sesuai dengan komponen.
pertama (wadah): misalnya, kode mycard.first (p);
terakhir (wadah): misalnya, mycard.last (p);
Berikutnya (wadah): misalnya, mycard.next (p);
Sebelumnya (wadah): mycard.previous (p);
[Contoh 11-7] Aplikasi Kecil Gunakan tata letak cardlayout. Jendela memiliki 4 tombol, yang bertanggung jawab untuk menampilkan komponen pertama P, komponen terakhir, komponen pertama dari komponen saat ini, dan komponen terakhir dari komponen saat ini.
Impor Java.Applet.*; (); Mycard; Void init () {setLayout (BorderLayout baru ()); MyCard); // tata letak P diatur ke tata letak kartu mypanel = mypanel baru [10]; ); (P2, yang pertama ", ini); iftactionCommand (). (E.GetactionCommand (). Equals ("前一个")) MyCard.Previous (p);
5. Metode Tata Letak dan Setbounds
Tata letak udara adalah untuk mengatur tata letak wadah ke tata letak nol. Tata letak udara menggunakan metode setBounds () untuk mengatur ukuran komponen itu sendiri dan posisi dalam wadah:
SetBounds (int x, int y, lebar int, int tinggi)
Area yang ditempati oleh komponen adalah persegi panjang, parameter x, dan y adalah posisi koordinat dari sudut kiri atas komponen dalam wadah; Ada dua langkah untuk komponen pemindahan tata letak udara: pertama -tama gunakan metode add () untuk menambahkan komponen dalam wadah tubuh. Kemudian hubungi metode setBounds () untuk mengatur posisi komponen dalam wadah dan ukuran komponen itu sendiri. Metode lain yang terkait dengan komponen:
1.getSize ().
2.getSize ()
3.SetVGAP (ing VGAP)
4.setHgap (int hgap);