Rumah >Java >javaTutorial >Bagaimana untuk Memusatkan Tetingkap Aplikasi dan Kandungannya pada Skrin Boleh Diubah Sempurna?

Bagaimana untuk Memusatkan Tetingkap Aplikasi dan Kandungannya pada Skrin Boleh Diubah Sempurna?

Barbara Streisand
Barbara Streisandasal
2024-12-02 11:51:10123semak imbas

How to Perfectly Center an Application Window and its Contents on a Resizable Screen?

Cara Memusatkan Tetingkap Aplikasi pada Skrin Bersaiz

Soalan anda melibatkan dua cabaran: menjajarkan objek yang melantun dalam JFrame dan menentukan tengah tepat skrin boleh ubah saiz.

Bahagian 1: Menjajarkan Objek Melantun dalam JFrame

Daripada penerangan anda, nampaknya objek melantun terkeluar dari landasan kira-kira 10 piksel. Percanggahan ini berkemungkinan disebabkan oleh salah tanggapan bahawa lebar dan ketinggian JFrame hanya merangkumi kawasan pelanggan (tempat anda melukis). Pada hakikatnya, JFrame terdiri daripada bingkai, JRootPane, JLayeredPane dan anak tetingkap kandungan. Oleh itu, kawasan boleh lukis sebenar adalah lebih kecil daripada dimensi JFrame.

Untuk mengambil kira ini, laraskan sempadan objek dengan menolak lebar sempadan daripada lebar dan tinggi JFrame.

Bahagian 2: Menentukan Skrin Tepat Pusat

Menentukan pusat skrin boleh ubah saiz memerlukan mempertimbangkan kedua-dua dimensi bingkai dan dimensi anak tetingkap kandungan.

  • Dari perspektif bingkai, pusat berada pada 50% daripada lebar dan tinggi bingkai.
  • Dari perspektif anak tetingkap kandungan, pusatnya ialah pada 50% lebar dan tinggi anak tetingkap kandungan.

Bergantung pada keperluan anda, anda boleh menggunakan titik tengah sama ada bingkai atau anak tetingkap kandungan.

  • Untuk tengah bingkai pada skrin, gunakan kaedah Window#setLocationRelativeTo(null).
  • Untuk menjajarkan lukisan anda dalam anak tetingkap kandungan, gunakan dimensi anak tetingkap kandungan.

Atas ialah kandungan terperinci Bagaimana untuk Memusatkan Tetingkap Aplikasi dan Kandungannya pada Skrin Boleh Diubah Sempurna?. 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