现在的位置: 首页 > 综合 > 正文

java的swing边界的学习笔记

2013年02月17日 ⁄ 综合 ⁄ 共 2890字 ⁄ 字号 评论关闭

swing中定义的边界有那么几种,空边界EmptyBorder,线边界LineBorder,斜切边界BevelBorder,软斜切边界SoftBevelBorder,粗糙边界MatteBorder,混合边界CompoundBorder,标题边界TitledBorder,蚀刻边界EtchedBorder,下面将通过一个小小的例子,分别展示这几个边界是怎么用,又是什么效果的。

 

 

class LabelPanel extends JPanel {
	Border border;
	JLabel label;

	public LabelPanel() {
		// 3.为面板设置3行*4列,横纵间距为5的网格布局
		setLayout(new GridLayout(3, 4, 15, 15));
		// 4. 创建一个EmptyBorder 的标签
		label = new JLabel("Empty", JLabel.CENTER);
		label.setOpaque(true);
		// 创建一个EmptyBorder(top,left,bottom,right)
		border = new EmptyBorder(1, 1, 1, 1);
		// 将边界分配给标签.
		label.setBorder(border);
		add(label);
		// 5.(roate a label wi Lt. ar. etched border.
		label = new JLabel("Etched RAISED", JLabel.CENTER);
		label.setOpaque(true);
		//创建一个凸起的蚀刻边界
		border = new EtchedBorder(EtchedBorder.RAISED);
		label.setBorder(border);
		add(label);
		// 6. 创建一个下凹带颜色边界的标签.
		label = new JLabel("Etched LOWERED", JLabel.CENTER);
		label.setOpaque(true);
		//EtchedBorder(int etchType, Color 高亮, Color 阴影)
		border = new EtchedBorder(EtchedBorder.LOWERED, Color.red, Color.blue); 
		label.setBorder(border);
		add(label);
		// 7.创建一个凸起斜切边界的标签.
		label = new JLabel(" Bevel Up", JLabel.CENTER);
		label.setOpaque(true);
		border = new BevelBorder(BevelBorder.RAISED);// Raisedbevel type
		label.setBorder(border);
		add(label);
		// 8. 创建一个下凹斜切边界的标签.
		label = new JLabel("Bevel Down", JLabel.CENTER);
		label.setOpaque(true);
		border = new BevelBorder(BevelBorder.LOWERED);// Lowered bevel type
		label.setBorder(border);
		add(label);
		// 9. 创建一个带颜色的凸起斜切边界的标签
		label = new JLabel("ColoredBevel", JLabel.CENTER);
		label.setOpaque(true);
		border = new BevelBorder(BevelBorder.RAISED, // Raised bevel type
				Color.gray, Color.yellow); // Hightlight and sba& ' colors
		label.setBorder(border);
		add(label);
		// 10. 创建一个下凹的软斜切边界的标签.
		label = new JLabel("SoftBevel LOWERED", JLabel.CENTER);
		label.setOpaque(true);
		border = new SoftBevelBorder(BevelBorder.LOWERED);
		label.setBorder(border);
		add(label);
		// 11. 创建一个粗糙边界的标签..
		label = new JLabel("Matte 图标", JLabel.CENTER);
		label.setOpaque(true);
		Icon icon = new ImageIcon("a.gif");
		// top = 20, left = 20, bottom = 20; right = 20 and matte icon
		border = new MatteBorder(20, 20, 20, 20, icon);
		label.setBorder(border);
		add(label);
		// 12. 创建一个线边界的标签..
		label = new JLabel(" line", JLabel.CENTER);
		label.setOpaque(true);
		border = new LineBorder(Color.red, // Line color = red
				5);// line thickness 5.
		label.setBorder(border);
		add(label);
		// 13.  创建一个灰色线边界的标签
		label = new JLabel("GrayLine", JLabel.CENTER);
		label.setOpaque(true);
		// 创建一个灰色的、宽度为1的LineBorder
		border = LineBorder.createGrayLineBorder();
		label.setBorder(border);
		add(label);
		// 14. 创建一个混合边界的标签.
		label = new JLabel("BevelBorder \n EtchedBorder", JLabel.CENTER);
		label.setOpaque(true);
		// 创建混合了蚀刻边界和斜切边界的边界
		border = new CompoundBorder(new BevelBorder(BevelBorder.RAISED),
				new EtchedBorder(EtchedBorder.RAISED));
		label.setBorder(border);
		add(label);
		// 15 创建个带标题边界的标签.
		label = new JLabel("Titled", JLabel.CENTER);
		label.setOpaque(true);
		border = new TitledBorder(new LineBorder(Color.red), "Lined&Titled",// 标题
				TitledBorder.CENTER,
				// Title just_ficaticr.
				TitledBorder.CENTER, // 标题位置.
				new Font("Sans", Font.BOLD, 16),// 字体.
				Color.blue); // 颜色
		label.setBorder(border);
		add(label);
	}
}

再创建一个新的窗口,把上面这个面板添加进去,就能看到效果图了

 

抱歉!评论已关闭.