Video: JavaFX Scene Builder Tutorial - Make GUI Responsive 2024
An panchor pane dalam JavaFX adalah sama dengan panel sempadan kerana ia membolehkan anda meletakkan nod berbanding dengan salah satu tepi tetingkap. Walau bagaimanapun, terdapat beberapa perbezaan utama:
-
Dalam anak tetingkap sempadan, kawasan susun atur dibahagikan kepada lima kawasan yang berbeza: atas, kanan, bawah, kiri, dan tengah. Panel anchor tidak membahagikan susun atur ke kawasan yang berbeza. Sebaliknya, setiap nod dalam susun atur boleh terikat - atau berlabuh - ke satu atau lebih empat bahagian susun atur. Apabila nod berlabuh ke tepi, panel anchor akan meletakkan nod sedekat mungkin dengan kelebihan tersebut selepas membenarkan nod lain.
-
Satu nod boleh berlabuh ke lebih daripada satu tepi. Sebagai contoh, nod boleh ditabung ke bahagian atas dan kanan, yang akan meletakkan simpul di penjuru kanan atas susun atur.
-
Jika nod berlabuh ke tepi yang bertentangan (atas dan bawah atau kiri dan kanan), nod akan ditarik ke kedua sisi susun atur. Ini menghasilkan nod yang diregangkan apabila saiz susun atur meningkat.
-
Lebih daripada satu nod boleh berlabuh ke setiap tepi. Dalam kes itu, nod akan bertindih kerana ia berada dalam anak panah timbunan.
Jadual berikut menunjukkan pembina dan kaedah kelas AnchorPane, yang anda gunakan untuk membuat panel anchor.
Pembina | Deskripsi |
---|---|
AnchorPane () | Mencipta panel jangkar kosong. |
AnchorPane (Node … kanak-kanak) | Membuat anak tetingkap utama dengan nod anak yang ditentukan. |
Kaedah | Deskripsi |
ObservableList
getChildren () |
Mengembalikan koleksi semua nod anak yang telah ditambah
ke anak tetingkap utama. Koleksi dikembalikan sebagai jenis ObservableList, termasuk kaedah add dan addAll, yang membolehkan anda menambah satu atau lebih nod ke senarai. |
static void setTopAnchor (Node node, Double
value) |
Jangkar simpul yang ditentukan ke tepi atas. Nilai
menunjukkan offset dari pinggir. |
static void setRightAnchor (Node node, Double
value) |
Jangkar simpul yang dinyatakan ke tepi kanan. Nilai
menunjukkan offset dari pinggir. |
statik void setBottomAnchor (nod nod,
nilai berganda) |
Jangkar simpul yang dinyatakan ke tepi bawah. Nilai
menunjukkan offset dari pinggir. |
statik void setLeftAnchor (Nod nod, Double
nilai) |
Jangkar nod yang dinyatakan ke tepi kiri. Nilai
menunjukkan offset dari pinggir. |
tidak sah setMinHeight (nilai berganda) | Menetapkan ketinggian minimum anak panah utama. |
void setMaxHeight (nilai berganda) | Menetapkan ketinggian maksimum anak panah utama. |
batal setPrefHeight (nilai berganda) | Menetapkan ketinggian pilihan anak panah utama. |
void setMinWidth (nilai berganda) | Menetapkan lebar minimum anak panah utama. |
void setMaxWidth (nilai berganda) | Menetapkan lebar maksimum anak panah utama. |
void setPrefWidth (nilai berganda) | Menetapkan lebar yang dipilih dari anak tetingkap utama. |
void setPadding (Nilai tambah) | Tetapkan padding di sekeliling tepi dalam timbunan
. |
Untuk membuat panel anchor, hubungi pembina AnchorPane dan lulus nod yang anda ingin tambah. Sebagai contoh:
Rectangle r1 = Rectangle baru (400, 200); r1. setFill (Warna. LIGHTGRAY); Rectangle r2 = Rectangle baru (200, 400); r2. setFill (Warna. DARKGRAY); AnchorPane anchor = new AnchorPane (r1, r2);
Di sini, sepasang segi empat tepat, satu 400 × 200, yang lain 200 × 400, dicipta. Satu diisi kelabu muda, kelabu gelap yang lain. Kemudian, panel anchor dibuat dan dua segi empat tepat ditambah.
Anda kemudian gunakan setTopAnchor, setRightAnchor, setBottomAnchor, dan setLeftAnchor kaedah untuk menambat nod ke tepi panel anchor. Setiap kaedah ini menerima dua parameter: nod yang anda mahu jangkar dan nilai offset yang membolehkan anda menambat nod jarak tertentu dari tepi.
Contohnya, untuk menunjuk segiempat r1 ke tepi atas dan kiri dan segiempat r2 ke tepi atas dan kanan, gunakan garis-garis ini:
anchor. setTopAnchor (r1, 0. 0); sauh. setLeftAnchor (r1, 0. 0); sauh. setTopAnchor (r2, 0. 0); sauh. setRightAnchor (r2, 0. 0);
Berikut menunjukkan bagaimana panel jangkar ini akan muncul apabila dipaparkan di tempat kejadian.
Dua segi empat tepat dipaparkan pada anak panah utama.Tetingkap di bahagian atas Rajah 1 menunjukkan bagaimana panel ini muncul apabila ia dipaparkan pada mulanya. Di sini, anda dapat melihat bagaimana segi empat tepat kelabu cahaya berlabuh ke sudut kiri atas susun atur, dan segi empat tepat kelabu gelap dilitupi ke sudut kanan atas.
Anak panah utama pada awalnya bersaiz sehingga kandungannya sesuai dengan pantas. Akibatnya, segi empat tepat kelabu gelap bertindih dengan segi empat tepat kelabu cahaya. Tingkap di bahagian bawah gambar memperlihatkan bagaimana susun atur muncul apabila pengguna membentangkan tetingkap, membolehkan anak tetingkap susun atur berkembang. Apabila panel anchor semakin luas, segi empat kelabu cahaya kekal diletakkan di sudut kiri atas susun atur, manakala segi empat kelabu gelap mengikuti sudut kanan atas anak tetingkap. Oleh itu, segi empat tepat dipisahkan.