Heim > Java > javaLernprogramm > Wie zentriere ich einen JFrame in Java genau auf dem Bildschirm?

Wie zentriere ich einen JFrame in Java genau auf dem Bildschirm?

Patricia Arquette
Freigeben: 2024-11-30 06:19:11
Original
740 Leute haben es durchsucht

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

JFrame-Abmessungen verstehen und den genauen Mittelpunkt bestimmen

In Java ist es bei der Arbeit mit JFrames wichtig, den Unterschied zwischen den Gesamtabmessungen des Rahmens zu verstehen und der übermalbare Bereich im Inhaltsbereich.

Ein JFrame besteht aus mehreren Komponenten, darunter einem Rahmen, a JRootPane und ein JLayeredPane. Der Inhaltsbereich befindet sich im JLayeredPane. Es ist wichtig zu beachten, dass die Rahmenabmessungen die Ränder einschließen, der bemalbare Bereich jedoch nicht.

Um die genaue Mitte genau zu berechnen, müssen Sie daher die Abmessungen des Inhaltsbereichs und nicht die Gesamtgröße des Rahmens berücksichtigen. Der Mittelpunkt des Inhaltsbereichs kann anhand dieser angepassten Abmessungen bestimmt werden.

Wenn Sie beispielsweise einen JFrame mit einer Standardgröße von 200 x 200 Pixeln erstellen, wäre der Mittelpunkt des Inhaltsbereichs 92 x 81 Pixel (vorausgesetzt). eine Randbreite von 8 Pixeln).

Um einen JFrame auf dem Bildschirm zu zentrieren, können Sie setLocationRelativeTo(null) verwenden. Methode. Wenn Sie jedoch die genaue Mitte des Bildschirms unabhängig von seiner aktuellen Größe dynamisch bestimmen möchten, können Sie die folgende Lösung verwenden:

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);
    }
}
Nach dem Login kopieren

Dieser Code passt die Position des JFrames automatisch an, um seine Mitte basierend darauf beizubehalten der aktuellen Bildschirmgröße, um ein einheitliches Benutzererlebnis zu gewährleisten.

Das obige ist der detaillierte Inhalt vonWie zentriere ich einen JFrame in Java genau auf dem Bildschirm?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage