Rumah > Java > javaTutorial > Bagaimana untuk Mengubah Saiz Kanvas Secara Automatik untuk Mengisi Peringkat Induknya dalam JavaFX?

Bagaimana untuk Mengubah Saiz Kanvas Secara Automatik untuk Mengisi Peringkat Induknya dalam JavaFX?

Linda Hamilton
Lepaskan: 2024-10-26 12:54:03
asal
958 orang telah melayarinya

How to Automatically Resize a Canvas to Fill Its Parent Stage in JavaFX?

Mengubah Saiz Kanvas untuk Mengisi Induk Melampirkan dalam JavaFX

Pertanyaan berkisar pada saiz semula elemen Kanvas secara automatik agar sesuai dengan Peringkat induknya dalam JavaFX. Kunci untuk mencapai ini adalah melalui mengikat dan mencipta Anak Tetingkap tersuai yang membalut Kanvas.

Mencipta KanvasPane

Untuk mencipta Kanvas yang boleh diubah saiz, kami mentakrifkan bersarang statik class, CanvasPane, yang memanjangkan Pane dan mengatasi kaedah layoutChildren(). Dengan mengatasi kaedah ini, kita boleh memaksa dimensi Kanvas untuk memadankan Anak Tetingkap yang disertakan. Harap maklum bahawa Kanvas dengan sendirinya tidak boleh diubah saiznya dan ibu bapa tidak boleh mengubah saiznya secara automatik.

Berikut ialah kaedah layoutChildren() untuk CanvasPane:

<code class="java">@Override
protected void layoutChildren() {
    super.layoutChildren();
    final double x = snappedLeftInset();
    final double y = snappedTopInset();
    final double w = snapSize(getWidth()) - x - snappedRightInset();
    final double h = snapSize(getHeight()) - y - snappedBottomInset();
    canvas.setLayoutX(x);
    canvas.setLayoutY(y);
    canvas.setWidth(w);
    canvas.setHeight(h);
}</code>
Salin selepas log masuk

Menggunakan CanvasPane

Dalam kelas Aplikasi utama kami, kami membalut Kanvas kami dalam CanvasPane:

<code class="java">CanvasPane canvasPane = new CanvasPane(WIDTH, HEIGHT);
canvas = canvasPane.getCanvas();</code>
Salin selepas log masuk

Dengan CanvasPane, Kanvas akan mengubah saiz secara automatik untuk mengisi Peringkat yang disertakan.

Pertimbangan Tambahan

Jawapan yang diterima dalam soalan Stack Overflow yang dirujuk tidak mempunyai pengikatan yang digambarkan di sini. Pendekatan ini menyediakan penyepaduan yang lebih lancar antara Kanvas dan reka letak induknya.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Saiz Kanvas Secara Automatik untuk Mengisi Peringkat Induknya dalam JavaFX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan