使用 BorderFactory 创建边框

要向组件或容器添加边框,可以使用 java BorderFactory 提供了多种类型的 Swing 边框。创建边框的三个步骤是:
  • 通过实例化 Border.
  • 使用 BorderFactory 选择边框样式。().
  • 使用 setBorder.

LineBorder

此方法修改 JComponent(组件) BorderFactory.createLineBorder(Color, int) 创建单个边框。第一个参数表示颜色,第二个参数表示 line.

以下代码在 JLabel 和 JPanel.

import java.awt.BorderLayout;
导入 java.awt.Color;
导入 java.awt.Dimension;
import javax.swing.BorderFactory;
导入 javax.swing.JFrame;
导入 javax.swing.JLabel;
import javax.swing.JPanel;
import 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 面板 = new JPanel();
JLabel label = new JLabel(lineBorder”);
label.setPreferredSize(new Dimension(100, 100));
panel.add(label);
panel.setPreferredSize(new Dimension(200,125));
//创建黑线边框和最小宽度 1
边框 lineborder = BorderFactory.createLineBorder(Color.black, 1);
//与 JLabel
label.setBorder(lineborder) 相关联;

f.getContentPane().setLayout(new BorderLayout());
f.add(new JLabel( ”), BorderLayout.NORTH);
//调整到 center
f.add(panel, BorderLayout.CENTER);
f.pack();

}
public static void main(String[] args) {
new BorderFactoryExample();
}
}
输出
BorderFactory

EtchedBorder

Etched 表示用法语雕刻,从外部:EtchedBorder.RAISED,或从内部:EtchedBorder.LOWERED.

RAISED

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

LOWERED

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

RaisedBevelBorder

创建边框作为松散按钮,阴影具有浅色阴影和深色阴影。

边框 RaisedBevelBorder = BorderFactory.createRaisedBevelBorder();
borderfactory

LoweredBevelBorder

创建边框作为按下的按钮,阴影具有浅色和深色阴影。

Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder();
borderfactory

MatteBorder

创建一个有 5 个参数的边框,前 4 个处理左、右、顶、底线的宽度, 最后一个给边缘着色.

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

您还可以通过添加一个在边框周围重新设计的图标来使其更漂亮:

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

TitledBorder

TitledBorder 有五个构造函数,我们选择使用一个包含所有参数的示例,这些参数允许您将标题添加到具有特定边框样式的边框, position, font and color.

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

EtchedBorder

此样式将两种样式合二为一。例如,我们想在 RaisedBevelBorder:

Border lineborder = BorderFactory.createLoweredBevelBorder() 中绘制一个 LineBorder;
Border RaisedBevelBorder = BorderFactory.createLineBorder(Color.blue);
Border EtchedBorderRaised = BorderFactory.createCompoundBorder(lineborder,
RaisedBevelBorder);
BorderFactory

References
Oracle 文档:BorderFactory
java2s:创建 使用 BorderFactory