Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのsetBounds()メソッドとは?使い方とサンプルコードを解説

JavaのGUIプログラミングでは、レイアウトマネージャー(Layout Manager)がコンポーネントの位置やサイズを自動的に決定します。しかし、レイアウトマネージャーを使用しない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。そのような場面で活躍するのがsetBounds()メソッドです。フレームのレイアウトマネージャーをnullに設定することで、コンポーネントの位置とサイズを自由に指定できるようになります。

setBounds()メソッドの基本

setBounds()メソッドは4つの引数を取ります。第1引数と第2引数はコンポーネントの左上隅のx座標・y座標、第3引数はコンポーネントの幅(width)、第4引数はコンポーネントの高さ(height)を指定します。

構文

setBounds(int x座標, int y座標, int 幅, int 高さ)

使用例

以下は、JFrame上にボタンを配置し、setBounds()メソッドで位置とサイズを指定するサンプルコードです。

import javax.swing.*;
import java.awt.*;
public class SetBoundsTest {
    public static void main(String arg[]) {
        JFrame frame = new JFrame("SetBounds Method Test");
        frame.setSize(375, 250);
        // レイアウトをnullに設定
        frame.setLayout(null);
        // ボタンの作成
        JButton button = new JButton("Hello Java");
        // ボタンの位置とサイズを設定
        button.setBounds(80,30,120,40);
        frame.add(button);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

実行結果

このコードを実行すると、ウィンドウ内の指定した座標(x=80、y=30)に、幅120ピクセル・高さ40ピクセルの「Hello Java」ボタンが表示されます。

JavaのsetBounds()メソッドとは?使い方とサンプルコードを解説

まとめ

setBounds()メソッドを使えば、レイアウトマネージャーに依存せず、コンポーネントの位置とサイズを細かく制御できます。ただし、ウィンドウのリサイズ時にレイアウトが崩れる可能性があるため、実際の開発では用途に応じてレイアウトマネージャーとの使い分けを検討することが重要です。

  1. JavaのString intern()メソッドとは?その役割と使い方をわかりやすく解説

    JavaにおけるStringクラスの基本Stringは、Javaで一連の文字(文字列)を格納するためのクラスで、java.langパッケージに属しています。Stringオブジェクトは一度生成すると内容を変更できない「イミュータブル(不変)」という特性を持っています。文字列の保存場所すべてのStringオブジェクトは、ヒープ領域内にある「文字列定数プール(String Constant Pool)」と呼ばれる専用のメモリ領域に格納されます。文字列リテラルを定義するたびに、JVMは文字列定数プール内にその値を持つStringオブジェクトを生成します。そのため、同じ内容の文字列リテラルが複数存在して

  2. Javaのpack()メソッドとは?使い方とsetSize()との違いを解説

    pack()メソッドは、JavaのWindowクラスで定義されているメソッドで、フレーム内のすべてのコンポーネントがそれぞれの推奨サイズ(preferred size)以上で表示されるように、ウィンドウのサイズを自動的に調整します。 代替手段として、setSize()メソッドやsetBounds()メソッドを呼び出して、フレームのサイズを明示的に指定する方法もあります。しかし一般的には、pack()メソッドを使用する方がsetSize()よりも推奨されています。その理由は、pack()がフレームのサイズ決定をレイアウトマネージャーに委ねることができ、レイアウトマネージャーはプラットフォーム間の