近使用Java进行客户端编程,使用了大量的Swing控件,由于系统默认的边框无法满足项目的要求,不得不自己更改控件的边框样式,网上找了不少资料,本文对Swing编程边框(Border)的用法进行归纳,以便有着同样需求的朋友参考。
1 |
publicvoid setBorder(Border border)
|
参数:
border - 要为此组件呈现的边框
Border 对象的工厂类。在任何可能的地方,此工厂类都将提供对已共享 Border 实例的引用。下面讨论具体的应用方法:1. 首先展示程序的运行效果:
2. 下面列出程序的完整实现代码:
Java示例:|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
packageTest;
importjava.awt.;
importjavax.swing.;
importjavax.swing.border.*;
publicclass BorderDemo {
publicstatic void main(String[] args) {
JFrame frame = newJFrame("Swing边框演示");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = newJPanel();
panel.setLayout(newGridLayout(0,2,5,10));
panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
JButton p1 = newJButton();
p1.setBorder(BorderFactory.createLineBorder(Color.red,3));
p1.add(newJLabel("线边框"));
panel.add(p1);
JPanel p2 = newJPanel();
p2.setBorder(BorderFactory.createEtchedBorder());
p2.add(newJLabel("蚀刻边框"));
panel.add(p2);
JPanel p3 = newJPanel();
p3.setBorder(BorderFactory.createRaisedBevelBorder());
p3.add(newJLabel("斜面边框(凸)"));
panel.add(p3);
JPanel p4 = newJPanel();
p4.setBorder(BorderFactory.createLoweredBevelBorder());
p4.add(newJLabel("斜面边框(凹)"));
panel.add(p4);
JPanel p5 = newJPanel();
p5.setBorder(BorderFactory.createTitledBorder("标题"));
p5.add(newJLabel("标题边框"));
panel.add(p5);
JPanel p6 = newJPanel();
TitledBorder tb = BorderFactory.createTitledBorder("标题");
tb.setTitleJustification(TitledBorder.RIGHT);
p6.setBorder(tb);
p6.add(newJLabel("标签边框(右)"));
panel.add(p6);
JPanel p7 = newJPanel();
p7.setBorder(BorderFactory.createMatteBorder(1,5,1,1, Color.yellow));
p7.add(newJLabel("花色边框"));
panel.add(p7);
JPanel p8 = newJPanel();
Border b1 = BorderFactory.createLineBorder(Color.blue, 2);
Border b2 = BorderFactory.createEtchedBorder();
p8.setBorder(BorderFactory.createCompoundBorder(b1, b2));
p8.add(newJLabel("组合边框"));
panel.add(p8);
JScrollPane scrollPane = newJScrollPane(panel);
scrollPane.setPreferredSize(newDimension(300,300));
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
|
近使用Java进行客户端编程,使用了大量的Swing控件,由于系统默认的边框无法满足项目的要求,不得不自己更改控件的边框样式,网上找了不少资料,本文对Swing编程边框(Border)的用法进行归纳,以便有着同样需求的朋友参考。
1 |
publicvoid setBorder(Border border)
|
参数:
border - 要为此组件呈现的边框
Border 对象的工厂类。在任何可能的地方,此工厂类都将提供对已共享 Border 实例的引用。下面讨论具体的应用方法:1. 首先展示程序的运行效果:
2. 下面列出程序的完整实现代码:
Java示例:|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
packageTest;
importjava.awt.;
importjavax.swing.;
importjavax.swing.border.*;
publicclass BorderDemo {
publicstatic void main(String[] args) {
JFrame frame = newJFrame("Swing边框演示");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = newJPanel();
panel.setLayout(newGridLayout(0,2,5,10));
panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
JButton p1 = newJButton();
p1.setBorder(BorderFactory.createLineBorder(Color.red,3));
p1.add(newJLabel("线边框"));
panel.add(p1);
JPanel p2 = newJPanel();
p2.setBorder(BorderFactory.createEtchedBorder());
p2.add(newJLabel("蚀刻边框"));
panel.add(p2);
JPanel p3 = newJPanel();
p3.setBorder(BorderFactory.createRaisedBevelBorder());
p3.add(newJLabel("斜面边框(凸)"));
panel.add(p3);
JPanel p4 = newJPanel();
p4.setBorder(BorderFactory.createLoweredBevelBorder());
p4.add(newJLabel("斜面边框(凹)"));
panel.add(p4);
JPanel p5 = newJPanel();
p5.setBorder(BorderFactory.createTitledBorder("标题"));
p5.add(newJLabel("标题边框"));
panel.add(p5);
JPanel p6 = newJPanel();
TitledBorder tb = BorderFactory.createTitledBorder("标题");
tb.setTitleJustification(TitledBorder.RIGHT);
p6.setBorder(tb);
p6.add(newJLabel("标签边框(右)"));
panel.add(p6);
JPanel p7 = newJPanel();
p7.setBorder(BorderFactory.createMatteBorder(1,5,1,1, Color.yellow));
p7.add(newJLabel("花色边框"));
panel.add(p7);
JPanel p8 = newJPanel();
Border b1 = BorderFactory.createLineBorder(Color.blue, 2);
Border b2 = BorderFactory.createEtchedBorder();
p8.setBorder(BorderFactory.createCompoundBorder(b1, b2));
p8.add(newJLabel("组合边框"));
panel.add(p8);
JScrollPane scrollPane = newJScrollPane(panel);
scrollPane.setPreferredSize(newDimension(300,300));
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
|