BorderFactory を使用して罫線を作成する

コンポーネントまたはコンテナにボーダーを追加するには、java BorderFactoryは、多くのタイプのSwingボーダーを提供します。罫線を作成する 3 つの手順は次のとおりです:
  • BorderFactory.create を使用して Border.
  • Choose 罫線スタイルをインスタンス化して罫線を作成します。().
  • メソッドsetBorder.

LineBorder

このメソッドBorderFactory.createLineBorder(Color, int)は、単一の境界線を作成します。最初のパラメータは色を表し、2番目のパラメータは線の幅を表します。

次のコードは、JLabelとJPanelでBorderを作成します。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
インポートjavax.swing.border.Border;

public class BorderFactoryExample extends JPanel{

public BorderFactoryExample(){

JFrame f = new JFrame("BorderFactoryExample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);

JPanel panel = new JPanel();
JLabel label = new JLabel(" lineBorder");
label.setPreferredSize(new Dimension(100, 100));
panel.add(ラベル);
panel.setPreferredSize(new Dimension(200,125));
//黒い線の境界線と最小幅を作成 1
Border lineborder = BorderFactory.createLineBorder(Color.black, 1);
//JLabel
と関連付ける label.setBorder(lineborder);

f.getContentPane().setLayout(new BorderLayout());
f.add(new JLabel(" "), BorderLayout.NORTH);
//中央に調整
f.add(panel, BorderLayout.CENTER);
f.pack();

}
public static void main(String[] args) {
new BorderFactoryExample();
}
}
Output
BorderFactory の例 lineBorder

EtchedBorder

Etched とは、外側から EtchedBorder.RAISED、または内側から EtchedBorder.LOWERED.

RAISED

Border EtchedBorderRaised = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
borderfactory raised

LOWERED

Border EtchedBorderLowered = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
borderfactory lowered

RaisedBevelBorder

影に明るい色合いと暗い色合いの緩いボタンとして境界線を作成します

ボーダー RaisedBevelBorder = BorderFactory.createRaisedBevelBorder();
borderfactory raised bevel border

LoweredBevelBorder

影の明るい色合いと暗い色合いで、押されたボタンとして境界線を作成します。

Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder();
borderfactory lowered bevel border

MatteBorder

5つのパラメータで境界線を作成し、最初の4つは左、右、上、下の線の幅を処理します。 最後にエッジに色を付けるもの

Border matteborder = BorderFactory.createMatteBorder(1, 1, 3, 1, Color.blue);
borderfactory matteborder

境界線の周りをデザインし直すアイコンを追加することで、よりきれいにすることもできます:

ImageIcon icon = new ImageIcon("etoile.png");
Border matteborder = BorderFactory.createMatteBorder(1, 1, 3, 1, icon);
borderfactory matteborder icon

TitledBorder

TitledBorder には 5 つのコンストラクタがありますが、特定の罫線スタイルで罫線にタイトルを追加できるすべてのパラメータを含む例を作成することにしました。 位置、フォント、色.

Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder();
Border EtchedBorderRaised = BorderFactory.createTitledBorder(LoweredBevelBorder, "title",
TitledBorder.LEFT,TitledBorder.TOP, 
new Font("Arial", Font.PLAIN , 13), Color.black);
borderfactory titledborder

EtchedBorder

このスタイルは、2つのスタイルを1つにまとめたものです。たとえば、RaisedBevelBorder:

Border lineborder = BorderFactory.createLoweredBevelBorder();
Border RaisedBevelBorder = BorderFactory.createLineBorder(Color.blue);
Border EtchedBorderRaised = BorderFactory.createCompoundBorder(lineborder,
RaisedBevelBorder);
BorderFactory EtchedBorder

References
Oracle Documentation: BorderFactory
java2s: create BorderFactory