ホームページ > Java > &#&チュートリアル > JFrame のコンテンツ ペイン内でコンポーネントを中央に配置するにはどうすればよいですか?

JFrame のコンテンツ ペイン内でコンポーネントを中央に配置するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 09:50:10
オリジナル
944 人が閲覧しました

How Do I Center a Component within a JFrame's Content Pane?

JFrame 内でコンポーネントを適切に中央に配置するにはどうすればよいですか?

JFrame 内で長方形を描画しようとする場合、フレーム サイズ、サイズ変更可能なプロパティ、および長方形の設定座標によっては、四角形がフレーム内の中央に配置されない場合があります。

この根本的な理由不一致は、枠線やタイトル バーなどのフレームの装飾にあります。これらの装飾はフレーム内のスペースを占有し、四角形の位置に影響を与えます。

適切なセンタリングを確保するには、フレームに直接ペイントするのではなく、フレームのコンテンツ領域にペイントすることが重要です。コンテンツ領域は基本的に、装飾を除いたフレームの内側部分です。

コード例:

public class CenteredRectangle {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (ClassNotFoundException | InstantiationException |
                        IllegalAccessException | UnsupportedLookAndFeelException ex) {
                }

                // Create a JFrame with a content pane
                JFrame frame = new JFrame();
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.getContentPane().setPreferredSize(new Dimension(800, 400));
                frame.pack();

                // Create a component to be centered
                JPanel panel = new JPanel();
                panel.setBackground(Color.RED);
                panel.setPreferredSize(new Dimension(700, 300));

                // Add the component to the content pane
                frame.getContentPane().add(panel);
                frame.validate();

                // Position the frame at the center of the screen
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}
ログイン後にコピー

この例では、JFrame のコンテンツ領域が設定されています優先サイズ 800x400 に設定され、中央に配置されるコンポーネントである JPanel は、優先サイズ 800x400 に設定されます。 700×300。コンテンツ ペインで validate() メソッドを使用すると、コンポーネントの実際のサイズと位置が計算されて適用されます。

これで、コンポーネントは JFrame 内で水平方向と垂直方向の両方で正しく中央に配置されるはずです。

以上がJFrame のコンテンツ ペイン内でコンポーネントを中央に配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート