インセットの値を設定する

広告

コンストラクタを使ってInsetsクラスのオブジェクトに上左下右の各インセットの値を設定できますが、一度作成されたオブジェクトに対してメソッドを使って新しいインセットを設定することが出来ます。Insetsクラスで用意されている「set」メソッドを使います。

top、left、bottom、および right に指定した値を設定します。

パラメータ:
  top - 上部からのインセット
  left - 左側からのインセット
  bottom - 下部からのインセット
  right - 右側からのインセット

引数にはコンストラクタと同じく上左下右の順にインセットをint型の値で指定します。(このメソッドはJDK1.5から用意されたメソッドです)。

実際には次のように使用します。

Insets insets = new Insets(0, 0, 0, 0);
insets.set(10, 10, 10, 10);

サンプルプログラム

では実際に試してみましょう。今回は作成したボタンにマージンを設定してみます。

JInsetsTest1.java

import javax.swing.*;
import java.awt.Insets;
import java.awt.BorderLayout;

public class JInsetsTest1 extends JFrame{

  public static void main(String[] args){
    JInsetsTest1 frame = new JInsetsTest1();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 300, 200);
    frame.setTitle("タイトル");
    frame.setVisible(true);
  }

  JInsetsTest1(){
    JButton button1 = new JButton("Button");

    JButton button2 = new JButton("Button");
    button2.setMargin(new Insets(50, 50, 30, 30));

    JPanel p = new JPanel();
    p.add(button1);
    p.add(button2);

    getContentPane().add(p, BorderLayout.CENTER);
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

Insetsクラスを使ってマージンを設定する

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)