Rumah > Java > javaTutorial > Bagaimana untuk Memusatkan JFrame dengan Tepat pada Skrin di Java?

Bagaimana untuk Memusatkan JFrame dengan Tepat pada Skrin di Java?

Patricia Arquette
Lepaskan: 2024-11-30 06:19:11
asal
741 orang telah melayarinya

How to Accurately Center a JFrame on the Screen in Java?

Memahami Dimensi JFrame dan Menentukan Pusat Tepat

Di Jawa, apabila bekerja dengan JFrames, adalah penting untuk memahami perbezaan antara dimensi keseluruhan bingkai dan kawasan boleh lukis dalam anak tetingkap kandungan.

JFrame terdiri daripada berbilang komponen, termasuk bingkai, JRootPane dan JLayeredPane. Anak tetingkap kandungan berada dalam JLayeredPane. Adalah penting untuk ambil perhatian bahawa dimensi bingkai termasuk sempadan, manakala kawasan boleh lukis tidak.

Oleh itu, untuk mengira bahagian tengah yang tepat, anda perlu mempertimbangkan dimensi anak tetingkap kandungan dan bukannya saiz keseluruhan bingkai. Titik tengah anak tetingkap kandungan boleh ditentukan menggunakan dimensi terlaras ini.

Sebagai contoh, jika anda mencipta JFrame dengan saiz lalai 200x200 piksel, titik tengah anak tetingkap kandungan ialah 92x81 piksel (dengan andaian lebar sempadan 8 piksel).

Untuk memusatkan JFrame pada skrin, anda boleh menggunakan setLocationRelativeTo(null) kaedah. Walau bagaimanapun, jika anda ingin menentukan pusat tepat skrin secara dinamik, tanpa mengira saiz semasanya, anda boleh menggunakan penyelesaian berikut:

import java.awt.*;

public class ScreenCenter {

    public static Point getScreenCenter(Component component) {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension componentSize = component.getSize();

        int x = (screenSize.width - componentSize.width) / 2;
        int y = (screenSize.height - componentSize.height) / 2;

        return new Point(x, y);
    }

    public static void main(String[] args) {
        // Create a JFrame and set its size
        JFrame frame = new JFrame("Frame");
        frame.setSize(400, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Center the JFrame on the screen using the getScreenCenter method
        Point centerPoint = getScreenCenter(frame);
        frame.setLocation(centerPoint.x, centerPoint.y);

        // Display the JFrame
        frame.setVisible(true);
    }
}
Salin selepas log masuk

Kod ini secara automatik melaraskan kedudukan JFrame untuk mengekalkan pusatnya berdasarkan saiz skrin semasa, memastikan pengalaman pengguna yang konsisten.

Atas ialah kandungan terperinci Bagaimana untuk Memusatkan JFrame dengan Tepat pada Skrin di Java?. 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