关于swing的Border

本文通过一个具体的例子深入解析Swing中Border的使用,详细介绍了如何创建和应用Border,帮助读者彻底掌握这一关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个例子搞通了,Border也就搞通了


import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
/**
 * Description:
 * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
 * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author Yeeku.H.Lee kongyeeku@163.com
 * @version 1.0
 */
public class BorderTest
{
	private JFrame jf = new JFrame("测试边框");
	public void init()
	{
		jf.setLayout(new GridLayout(2, 4));
		// 使用静态工厂方法创建BevelBorder
		Border bb = BorderFactory.createBevelBorder(
			BevelBorder.RAISED , Color.RED, Color.GREEN
			, Color.BLUE, Color.GRAY);
		jf.add(getPanelWithBorder(bb , "BevelBorder"));
		// 使用静态工厂方法创建LineBorder
		Border lb = BorderFactory.createLineBorder(Color.ORANGE, 10);
		jf.add(getPanelWithBorder(lb , "LineBorder"));
		// 使用静态工厂方法创建EmptyBorder,EmptyBorder就是在组件四周留空
		Border eb = BorderFactory.createEmptyBorder(20, 5, 10, 30);
		jf.add(getPanelWithBorder(eb , "EmptyBorder"));
		// 使用静态工厂方法创建EtchedBorder
		Border etb = BorderFactory.createEtchedBorder(EtchedBorder.RAISED,
		Color.RED, Color.GREEN);
		jf.add(getPanelWithBorder(etb , "EtchedBorder"));
		// 直接创建TitledBorder,TitledBorder边框就是为原有的边框增加标题
		TitledBorder tb = new TitledBorder(lb , "测试标题"
			, TitledBorder.LEFT , TitledBorder.BOTTOM
			, new Font("StSong" , Font.BOLD , 18), Color.BLUE);
		jf.add(getPanelWithBorder(tb , "TitledBorder"));
		// 直接创建MatteBorder,MatteBorder边框是EmptyBorder的子类,
		// 它可以指定留空区域的颜色或背景,此处是指定颜色
		MatteBorder mb = new MatteBorder(20, 5, 10, 30, Color.GREEN);
		jf.add(getPanelWithBorder(mb , "MatteBorder"));
		// 直接创建CompoundBorder,CompoundBorder边框将两个边框组合成新边框
		CompoundBorder cb = new CompoundBorder(new LineBorder(
			Color.RED, 8) , tb);
		jf.add(getPanelWithBorder(cb , "CompoundBorder"));
		jf.pack();
		jf.setVisible(true);
	}
	public static void main(String[] args)
	{
		new BorderTest().init();
	}
	public JPanel getPanelWithBorder(Border b , String BorderName)
	{
		JPanel p = new JPanel();
		p.add(new JLabel(BorderName));
		// 为Panel组件设置边框
		p.setBorder(b);
		return p;
	}
}

getPanelWithBorder()是自建的一个方法!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值