JFrame の寸法の理解と正確な中心の決定
Java で JFrame を操作する場合、フレーム全体の寸法の違いを理解することが不可欠です。
JFrame は複数のコンポーネントで構成されます。フレーム、JRootPane、JLayeredPane が含まれます。コンテンツ ペインは JLayeredPane 内にあります。フレームの寸法には境界線が含まれますが、ペイント可能領域には含まれないことに注意することが重要です。
したがって、正確な中央を正確に計算するには、フレーム全体のサイズではなく、コンテンツ ペインの寸法を考慮する必要があります。コンテンツ ペインの中心点は、これらの調整された寸法を使用して決定できます。
たとえば、デフォルト サイズ 200x200 ピクセルで JFrame を作成した場合、コンテンツ ペインの中心点は 92x81 ピクセルになります (次のように仮定します)。境界線の幅は 8 ピクセル)。
JFrame を画面の中央に配置するには、setLocationRelativeTo(null) を使用できます。 方法。ただし、現在のサイズに関係なく、画面の正確な中心を動的に決定したい場合は、次の解決策を採用できます。
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); } }
このコードは、JFrame の位置を自動的に調整して、次の基準に基づいて JFrame の中心を維持します。現在の画面サイズに合わせて、一貫したユーザー エクスペリエンスを確保します。
以上がJava で JFrame を画面の中央に正確に配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。