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); } }
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!