Java Swing组件的几种边框集中设计

package zikao.swing;

import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;

public class SwingBorderDemo {
    /*
    特殊的Border:
    1,TitleBorder 为其它边框设计标题 需要有一个其它的Border对象
    2,CompoundBorder: 组合两个边框,创建对象时需要两个参数 分别为内外边距
     */

    /*
    为组件设置边框的步骤:
    1,创建Border的实例化对象
    2,调用Swing组件中的setBorder(Border b) 方法为其设计边框
     */
    JFrame jFrame = new JFrame("这里测试边框");

    public void init() {
        jFrame.setLayout(new GridLayout(2, 4));
        //创建BevelBorder
        Border bevelBorder = BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW);
        jFrame.add(getJPanelWithBorder(bevelBorder, "BevelBorder"));
        //创建LineBorder
        Border lineBorder = BorderFactory.createLineBorder(Color.ORANGE, 10);
        jFrame.add(getJPanelWithBorder(lineBorder, "LineBorder"));
        //创建EmptyBorder
        Border emptyBorder = BorderFactory.createEmptyBorder(10, 5, 20, 10);
        jFrame.add(getJPanelWithBorder(emptyBorder, "EmptyBorder"));
        //创建EtchedBorder
        Border etchedBorder = BorderFactory.createEtchedBorder(EtchedBorder.RAISED, Color.GREEN, Color.RED);
        jFrame.add(getJPanelWithBorder(etchedBorder, "EtchedBorder"));
        //创建TitleBorder
        TitledBorder titledBorder = new TitledBorder(new LineBorder(Color.ORANGE, 10), "我是TitleBorder");
        jFrame.add(getJPanelWithBorder(titledBorder, "TitleBorder"));
        //创建MatteBorder
        MatteBorder matteBorder = new MatteBorder(10, 5, 20, 10, Color.GREEN);
        jFrame.add(getJPanelWithBorder(matteBorder, "MatteBorder"));
        //创建CompoundBorder
        CompoundBorder compoundBorder = new CompoundBorder(new TitledBorder(new LineBorder(Color.ORANGE, 10), "我是CompoundBorder"), new LineBorder(Color.RED, 5));
        jFrame.add(getJPanelWithBorder(compoundBorder, "CompoundBorder"));
        jFrame.pack();
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public JPanel getJPanelWithBorder(Border border, String comment) {
        JPanel jPanel = new JPanel();
        jPanel.add(new JLabel(comment));
        jPanel.setBorder(border);
        return jPanel;
    }

    public static void main(String[] args) {
        new SwingBorderDemo().init();
    }
}

                                                                效果图 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值