BorderFactory 中的Border样式比较多,写一个测试以示区别:
public class TestSwingBorder extends JFrame {
private static final long serialVersionUID = 3711916627794200840L;
public TestSwingBorder() throws HeadlessException {
initComponpent();
}
private JPanel createBorderDemoPanel(Border border, String string) {
JPanel panel = new JPanel();
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setText(string);
textArea.setLineWrap(true);
panel.add(textArea);
panel.setBorder(border);
return panel;
}
private void initComponpent() {
JPanel contentPanel = new JPanel();
contentPanel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
contentPanel.setBounds(20, 20, 300, 300);
contentPanel.setLayout(new GridLayout(3, 3, 10, 10));
JPanel panel = createBorderDemoPanel(
BorderFactory.createRaisedBevelBorder(),
"BorderFactory.createRaisedBevelBorder()");
contentPanel.add(panel);
panel = createBorderDemoPanel(
BorderFactory.createRaisedSoftBevelBorder(),
"BorderFactory.createRaisedSoftBevelBorder()");
contentPanel.add(panel);
panel = createBorderDemoPanel(BorderFactory.createEtchedBorder(),
"BorderFactory.createEtchedBorder()");
contentPanel.add(panel);
panel = createBorderDemoPanel(
BorderFactory.createLineBorder(Color.RED),
"BorderFactory.createLineBorder(Color.RED)");
contentPanel.add(panel);
panel = createBorderDemoPanel(BorderFactory.createLoweredBevelBorder(),
"BorderFactory.createLoweredBevelBorder()");
contentPanel.add(panel);
panel = createBorderDemoPanel(
BorderFactory.createLoweredSoftBevelBorder(),
"BorderFactory.createLoweredSoftBevelBorder()");
contentPanel.add(panel);
panel = createBorderDemoPanel(BorderFactory.createCompoundBorder(),
"BorderFactory.createCompoundBorder()");
contentPanel.add(panel);
panel = createBorderDemoPanel(
BorderFactory.createStrokeBorder(new BasicStroke(10)),
"BorderFactory.createStrokeBorder(new BasicStroke(10))");
contentPanel.add(panel);
panel = createBorderDemoPanel(
BorderFactory.createMatteBorder(10, 10, 10, 10, Color.blue),
"BorderFactory.createMatteBorder(10, 10, 10, 10,Color.blue)");
contentPanel.add(panel);
panel = createBorderDemoPanel(
BorderFactory.createTitledBorder(
BorderFactory.createRaisedSoftBevelBorder(), "这是标题",
TitledBorder.LEFT, TitledBorder.TOP),
"BorderFactory.createTitledBorder(BorderFactory.createRaisedSoftBevelBorder(), \"这是标题\",TitledBorder.LEFT, TitledBorder.TOP)");
contentPanel.add(panel);
setContentPane(contentPanel);
}
public static void main(String[] args) {
TestSwingBorder testSwingBorder = new TestSwingBorder();
testSwingBorder.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
testSwingBorder.setSize(600, 600);
testSwingBorder.setLocationRelativeTo(null);
testSwingBorder.setVisible(true);
}
}
效果如下: