组件边框设置


import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
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.TitledBorder;

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"));
        //直接创建TitleBorder,TitleBorder就是为原有的边框增加标题
        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;
    }
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值