LineBorder

広告

ここではLineBorderの使い方について見ていきます。LineBorderは指定した色と線の太さで枠を作るBorderクラスです。

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

  • java.lang.Object
  • javax.swing.border.AbstractBorder
  • javax.swing.border.LineBorder
  • public class LineBorder extends AbstractBorder

見た目は下記のようになります。

LineBorder

コンストラクタ

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

コンストラクタ
LineBorder(Color color)
直線ボーダを、指定されたカラーおよび太さ (thickness = 1) で作成します。
LineBorder(Color color, int thickness)
指定された色と太さで直線ボーダを作成します。
LineBorder(Color color, int thickness, boolean roundedCorners)
指定された色と太さと隅の形状で直線ボーダを作成します。

コンストラクタは3つありますが、線の色、太さの指定と、隅の形状を指定します。3番目のコンストラクタを見てみましょう。

指定された色と太さと隅の形状で直線ボーダを作成します。

パラメータ:
  color - ボーダのカラー
  thickness - ボーダの太さ
  roundedCorners - ボーダの隅を丸くするかどうか

線の色はColorクラスの値で、太さはピクセル単位で指定します。隅を丸くくするかはtrueならば丸くすることになります。

実際の記述方法は下記のようになります。

JButton btn = new JButton("Test");

LineBorder border = new LineBorder(Color.red, 2, true);
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));
    btn1.setBorder(new LineBorder(Color.red, 2));

    JButton btn2 = new JButton("Golf");
    btn2.setPreferredSize(new Dimension(100,100));
    btn2.setBorder(new LineBorder(Color.blue, 8, true));

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

    getContentPane().add(p);
  }
}

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

LineBorder

右のボタンは角を丸くしています。

( Written by Tatsuo Ikura )

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