Cara Mengubah Saiz Kanvas Secara Automatik Dalam Bekas Terlampir
Apabila bekerja dengan API Kanvas JavaFX dan Pemasa Animasi untuk latar belakang animasi, tugas secara automatik mengubah saiz Kanvas apabila Tahap lampiran berubah saiz boleh ditemui.
Pendekatan
Dalam kod sampel yang disediakan, kelas tersuai CanvasPane digunakan. Kelas ini membungkus tika Canvas dalam Anak Tetingkap. Kaedah layoutChildren() ditindih untuk memastikan bahawa dimensi kanvas sepadan dengan anak Tetingkap tertutup.
Mengubah Saiz Kekangan
Perhatikan bahawa Kanvas mengembalikan palsu untuk isResizablenya () harta, menunjukkan bahawa ia tidak boleh diubah saiz semasa susun atur oleh induknya. Walau bagaimanapun, Pane tidak melakukan reka letak melebihi saiz semula kanak-kanak yang boleh diubah saiz kepada saiz pilihan mereka. Oleh itu, saiz awal kanvas ditentukan oleh argumen lebar dan ketinggiannya.
Perbezaan Utama daripada Contoh Asal
Pendekatan ini berbeza daripada menggunakan warna tepu sepenuhnya dengan menggunakan susunan warna warna, yang berputar dengan setiap kitaran animasi. Selain itu, contoh berkaitan menunjukkan cara meletakkan kawalan di atas latar belakang animasi.
Pelaksanaan Kod
<code class="java">public class Baubles extends Application { // ... code omitted ... private static class CanvasPane extends Pane { // ... code omitted ... @Override protected void layoutChildren() { // ... code omitted ... canvas.setWidth(w); canvas.setHeight(h); } } // ... code omitted ... }</code>
Kod yang disemak ini menggabungkan kelas CanvasPane, mengubah saiz secara automatik Kanvas dalam bekas induk. Apabila Stage diubah saiznya, Kanvas akan melaraskan saiznya dengan sewajarnya, memastikan animasi latar belakang yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk Mengubah Saiz Kanvas JavaFX Secara Automatik Dalam Bekas Terlampir?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!