BorderFactory を使用して罫線を作成する
コンポーネントまたはコンテナにボーダーを追加するには、java BorderFactoryは、多くのタイプのSwingボーダーを提供します。罫線を作成する 3 つの手順は次のとおりです:- BorderFactory.create を使用して Border.
- Choose 罫線スタイルをインスタンス化して罫線を作成します。().
- メソッドsetBorder.
LineBorder
このメソッドBorderFactory.createLineBorder(Color, int)は、単一の境界線を作成します。最初のパラメータは色を表し、2番目のパラメータは線の幅を表します。次のコードは、JLabelとJPanelでBorderを作成します。
import java.awt.BorderLayout;Output
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();
}
}
EtchedBorder
Etched とは、外側から EtchedBorder.RAISED、または内側から EtchedBorder.LOWERED.RAISED
Border EtchedBorderLowered = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
RaisedBevelBorder
影に明るい色合いと暗い色合いの緩いボタンとして境界線を作成します
影の明るい色合いと暗い色合いで、押されたボタンとして境界線を作成します。
Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder();
5つのパラメータで境界線を作成し、最初の4つは左、右、上、下の線の幅を処理します。 最後にエッジに色を付けるもの
Border matteborder = BorderFactory.createMatteBorder(1, 1, 3, 1, Color.blue);
境界線の周りをデザインし直すアイコンを追加することで、よりきれいにすることもできます:
ImageIcon icon = new ImageIcon("etoile.png");
Border matteborder = BorderFactory.createMatteBorder(1, 1, 3, 1, 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);
EtchedBorder
このスタイルは、2つのスタイルを1つにまとめたものです。たとえば、RaisedBevelBorder:
Border lineborder = BorderFactory.createLoweredBevelBorder();
Border RaisedBevelBorder = BorderFactory.createLineBorder(Color.blue);
Border EtchedBorderRaised = BorderFactory.createCompoundBorder(lineborder,
RaisedBevelBorder);
Oracle Documentation: BorderFactory