Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengubah Saiz Kanvas JavaFX Secara Automatik Dalam Bekas Terlampir?

Bagaimana untuk Mengubah Saiz Kanvas JavaFX Secara Automatik Dalam Bekas Terlampir?

Barbara Streisand
Barbara Streisandasal
2024-10-30 08:13:27829semak imbas

How to Automatically Resize a JavaFX Canvas Within an Enclosing Container?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn