BorderFactory를 사용하여 테두리 만들기
컴포넌트 또는 컨테이너에 테두리를 추가하려면 java BorderFactory - 다양한 유형의 스윙 테두리를 제공합니다. 테두리를 만드는 세 단계는 다음과 같습니다.- Border.
- BorderFactory.create... ().
- 메서드 setBorder.
LineBorder
이 <메서드로 JComponent(구성 요소)를 수정합니다. >BorderFactory.createLineBorder(Color, int) 단일 테두리를 만듭니다. 첫 번째 매개 변수는 색상을 나타내고 두 번째 매개 변수는 선의 너비를 나타냅니다.다음 코드는 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;
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 레이블 = new JLabel ( "lineBorder");
label.setPreferredSize(새 Dimension(100, 100));
panel.add(레이블);
panel.setPreferredSize(새 치수(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();
}
}
EtchedBorder
Etched는 외부에서 프랑스어로 새겨진 것을 의미합니다: EtchedBorder.RAISED 또는 내부에서: EtchedBorder.LOWERED.RAISED
테두리 EtchedBorderRaised = BorderFactory.createEtchedBorder (EtchedBorder.RAISED);
Border EtchedBorderLowered = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
RaisedBevelBorder
그림자에 대해 밝은 음영과 어두운 음영으로 테두리를 느슨한 버튼으로 만듭니다.
그림자에 대해 밝은 음영과 어두운 음영이 있는 누른 버튼으로 테두리를 만듭니다.
테두리 LoweredBevelBorder = BorderFactory.createLoweredBevelBorder();
5 개의 매개 변수로 테두리를 만들고 처음 4 개는 왼쪽, 오른쪽, 위쪽 및 아래쪽 줄의 너비를 처리합니다. 그리고 가장자리를 채색하는 마지막 것.
Border matteborder = BorderFactory.createMatteBorder(1, 1, 3, 1, 1, Color.blue);
테두리 주변을 다시 디자인하는 아이콘을 추가하여 더 예쁘게 만들 수도 있습니다.
ImageIcon icon = new ImageIcon("etoile.png");
테두리 매트테두리 = BorderFactory.createMatteBorder(1, 1, 3, 1, 아이콘);
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
이 스타일은 두 가지 스타일을 하나로 결합합니다. 예를 들어, RaisedBevelBorder 안에 LineBorder를 그리고 싶습니다.
Border lineborder = BorderFactory.createLoweredBevelBorder();
Border RaisedBevelBorder = BorderFactory.createLineBorder(Color.blue);
Border EtchedBorderRaised = BorderFactory.createCompoundBorder(lineborder,
RaisedBevelBorder);
Oracle 문서: BorderFactory
java2s: 생성 BorderFactory