Swing显示边框效果,用到两个类,一个是BorderFactory,另一个是Border。
BorderFactory类名调用静态方法实现多种边框效果:
- Border blackline, etched, raisedbevel, loweredbevel, empty; // 用Border类定义边框
- blackline = BorderFactory.createLineBorder(Color.black); //创建黑色的线状边框(当然,此处可以改为其他颜色)
- etched = BorderFactory.createEtchedBorder(); // 创建蚀刻边框
- raisedbevel = BorderFactory.createRaisedBevelBorder(); // 创建凸出边框
- loweredbevel = BorderFactory.createLoweredBevelBorder(); // 创建凹陷边框
- empty = BorderFactory.createEmptyBorder(); // 创建空的边框
注意:上面BorderFactory类调用的这几个方法返回的都是Border类的对象。
上述仅为创建了这几个边框效果(这也体现了Java完全面向对象的思想,每个具体的边框效果是一个对象),具体的应用分为两种情况:
1.对于继承了JFrame类的对象,使用方法如下:
f1.addCompForBorder(raisedbevel, "凸出边框", p1);
即
f1.addCompForBorder(BorderFactory.createRaisedBevelBorder(), "凸出边框", p1);
2.对于继承了JPanel类的对象,使用方法如下:
p1.setBorder(raisedbevel);
即
p1.setBorder(BorderFactory.createRaisedBevelBorder());
上面两种情况都是给面板p1加上了凸出边框,效果相同。