Swing 边框

http://lian.iteye.com/blog/962525


对Swing Border的一个小总结:
使用方法:


TitledBorder nameTitle =new TitledBorder("FileName List"); 
JPanel panel1 = new new JPanel() 
panel1.setBorder(nameTitle); 


TitledBorder 该类实现在指定位置以指定对齐方式显示字符串标题的任意边框。
EtchedBorder 该类实现简单的浮雕化边框,它既可以是阴刻浮雕化边框,也可以是LineBorder  阳刻浮雕化边框。如果创建边框时未初始化任何高亮/阴影颜色,则这些颜色将从传递给 paintBorder() 方法的组件参数的背景色动态派生。
实现单色、任意厚度线边框的类。
MatteBorder 该类提供类似衬边的边框,衬边图案既可以是纯色也可以是平铺的图标。
BevelBorder 该类实现简单的双线斜面边框。
SoftBevelBorder实现某种斜面的类,这种斜面要么凸出要么凹入且拐角圆滑。
CompoundBorder一个复合 Border 类,通过将内部 Border 对象嵌套到外部 Border 对象的 insets 中实现将两个 Border 对象合并为一个单个边框。
例子:


// : c14:Borders.java 
// Different Swing borders. 
//  
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

import java.awt.BorderLayout;  
import java.awt.Color;  
import java.awt.Container;  
import java.awt.GridLayout; 

import javax.swing.JApplet;  
import javax.swing.JFrame;  
import javax.swing.JLabel;  
import javax.swing.JPanel;  
import javax.swing.border.BevelBorder;  
import javax.swing.border.Border;  
import javax.swing.border.CompoundBorder;  
import javax.swing.border.EtchedBorder;  
import javax.swing.border.LineBorder;  
import javax.swing.border.MatteBorder;  
import javax.swing.border.SoftBevelBorder;  
import javax.swing.border.TitledBorder; 

public class Borders extends JApplet {  
static JPanel showBorder(Border b) {  
    JPanel jp = new JPanel();  
    jp.setLayout(new BorderLayout());  
    String nm = b.getClass().toString();  
    nm = nm.substring(nm.lastIndexOf('.') + 1);  
    jp.add(new JLabel(nm, JLabel.CENTER), BorderLayout.CENTER);  
    jp.setBorder(b);  
return jp;  
  } 

public void init() {  
    Container cp = getContentPane();  
    cp.setLayout(new GridLayout(2, 4));  
    cp.add(showBorder(new TitledBorder("Title")));  
    cp.add(showBorder(new EtchedBorder()));  
    cp.add(showBorder(new LineBorder(Color.BLUE)));  //单线边框 
    cp.add(showBorder(new MatteBorder(5, 5, 30, 30, Color.GREEN)));  //设置四边框粗细和颜色 
    cp.add(showBorder(new BevelBorder(BevelBorder.RAISED)));  //凸出边框 
    cp.add(showBorder(new SoftBevelBorder(BevelBorder.LOWERED)));  //凹下边框 
    cp.add(showBorder(new CompoundBorder(new EtchedBorder(),  
new LineBorder(Color.RED))));  
  } 

public static void main(String[] args) {  
    run(new Borders(), 500, 300);  
  } 

public static void run(JApplet applet, int width, int height) {  
    JFrame frame = new JFrame();  
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
    frame.getContentPane().add(applet);  
    frame.setSize(width, height);  
    applet.init();  
    applet.start();  
    frame.setVisible(true);  
  }  
} /// 

stedy:以上实例在eclipse运行一下即可看到效果图,经测试如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值