EmptyBorder

広告

ここではEmptyBorderの使い方について見ていきます。EmptyBorderは枠が無いBorderクラスです。

まずEmptyBorderのクラス図を見て下さい。

java.lang.Object
  javax.swing.border.AbstractBorder
    javax.swing.border.EmptyBorder

public class EmptyBorder extends AbstractBorder implements Serializable

見た目は下記の右のボタンのような感じです。

EmptyBorder

コンストラクタ

EmptyBorderではコンストラクタは2つ用意されています。

コンストラクタ
EmptyBorder(Insets borderInsets)
指定された insets の値を持つ、空のボーダを作成します。
EmptyBorder(int top, int left, int bottom, int right)
指定された insets の値を持つ、空のボーダを作成します。

コンストラクタは2つありますが、枠のサイズの指定方法が違うだけです。2番目のコンストラクタを見てみましょう。

public EmptyBorder(int top, int left, int bottom, int right)

指定された insets の値を持つ、空のボーダを作成します。 

パラメータ:
  top - ボーダの上インセット
  left - ボーダの左インセット
  bottom - ボーダの下インセット
  right - ボーダの右インセット

上下左右の枠の大きさを指定して枠を作成します。実際の記述方法は下記のようになります。

JButton btn = new JButton("Test");

Border border = new EmptyBorder( 2, 2, 2, 2);
btn.setBorder(border);

サンプル

では実際に試してみましょう。

import javax.swing.*;
import java.awt.event.*;
import java.awt.Color;
import javax.swing.border.*;
import java.awt.Dimension;

public class SwingTest extends JFrame{
  public static void main(String[] args){
    SwingTest test = new SwingTest("SwingTest");

    test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    test.setVisible(true);
  }

  SwingTest(String title){
    setTitle(title);
    setBounds( 10, 10, 300, 200);

    JPanel p = new JPanel();

    JButton btn1 = new JButton("Tennis");
    btn1.setPreferredSize(new Dimension(100,100));

    JButton btn2 = new JButton("Golf");
    btn2.setPreferredSize(new Dimension(100,100));
    btn2.setBorder(new EmptyBorder( 2, 2, 2, 2));

    p.add(btn1);
    p.add(btn2);

    getContentPane().add(p);
  }
}

実行結果は下記のようになります。

EmptyBorder

左がデフォルトの状態で、右がEmptyBorderを指定した場合です。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。