swing(二)

目录

前言:

目标:

 实现:

     导入包:

   组件文本准备:

总代码:


前言:

        关于Swing进行一些创作和样品设计,不过笔者还是更加推荐去网上寻找一些视频教程,这里直接看代码的话会比较的蒙,建议初学者以视频讲解类的内容为主。

目标:

下图是使用以下代码实现的成品结构图。

 实现:

     导入包:

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

   组件文本准备:

        创建相关的容器主键,这里文本中有了一定的注释,具体还有那里不懂可以私聊笔者进行询问。

 JFrame jf = new JFrame("测试边框");
 public JPanel getJPanelWithBorder(Border border, String content){
        JPanel jPanel = new JPanel();
        jPanel.add(new JLabel(content));

        // 设置边框
        jPanel.setBorder(border);

        return jPanel;
    }

        初始化界面:

        初始化界面也就是对组件进行一定的封装,将小的组件封装到容器中并实现。

 // 组装视图
        //1. JFrame的布局修改为GridLayout
        jf.setLayout(new GridLayout(2,4));

        //2. 在网格中填充不同的JPanel组件,并且设置边框和内容

        //创建BevelBorder
        Border bevelBorder = BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.RED, Color.GREEN, Color.BLUE, Color.GRAY);
        jf.add(getJPanelWithBorder(bevelBorder,"bevelBorder"));

        //创建LineBorder
        Border lineBorder = BorderFactory.createLineBorder(Color.ORANGE, 10);
        jf.add(getJPanelWithBorder(lineBorder,"lineBorder"));

        //创建EmptyBorder
        Border emptyBorder = BorderFactory.createEmptyBorder(10, 5, 20, 30);
        jf.add(getJPanelWithBorder(emptyBorder, "emptyBorder"));

        //创建EtchedBorder
        Border etchedBorder = BorderFactory.createEtchedBorder(EtchedBorder.RAISED, Color.RED, Color.GREEN);
        jf.add(getJPanelWithBorder(etchedBorder,"etchedBorder"));

        //创建TitledBorder
        TitledBorder titledBorder = new TitledBorder(new LineBorder(Color.ORANGE,10),"测试标题");
        jf.add(getJPanelWithBorder(titledBorder,"titledBorder"));

        //创建MatteBorder
        MatteBorder matteBorder = new MatteBorder(10, 5, 20, 10, Color.GREEN);
        jf.add(getJPanelWithBorder(matteBorder,"matteBorder"));

        //创建CompoundBorder
        CompoundBorder compoundBorder = new CompoundBorder(titledBorder, new LineBorder(Color.RED, 10));
        jf.add(getJPanelWithBorder(compoundBorder,"compoundBorder"));

        //3. 设置窗口最佳大小、设置窗口课件,处理关闭操作
        jf.pack();
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

总代码:

接下来就是完整的代码实现了

package com.swing02;

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

/**
 * 边框演示
 */
public class Demo {

    JFrame jf = new JFrame("测试边框");

    public void init(){
        // 组装视图
        //1. JFrame的布局修改为GridLayout
        jf.setLayout(new GridLayout(2,4));

        //2. 在网格中填充不同的JPanel组件,并且设置边框和内容

        //创建BevelBorder
        Border bevelBorder = BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.RED, Color.GREEN, Color.BLUE, Color.GRAY);
        jf.add(getJPanelWithBorder(bevelBorder,"bevelBorder"));

        //创建LineBorder
        Border lineBorder = BorderFactory.createLineBorder(Color.ORANGE, 10);
        jf.add(getJPanelWithBorder(lineBorder,"lineBorder"));

        //创建EmptyBorder
        Border emptyBorder = BorderFactory.createEmptyBorder(10, 5, 20, 30);
        jf.add(getJPanelWithBorder(emptyBorder, "emptyBorder"));

        //创建EtchedBorder
        Border etchedBorder = BorderFactory.createEtchedBorder(EtchedBorder.RAISED, Color.RED, Color.GREEN);
        jf.add(getJPanelWithBorder(etchedBorder,"etchedBorder"));

        //创建TitledBorder
        TitledBorder titledBorder = new TitledBorder(new LineBorder(Color.ORANGE,10),"测试标题");
        jf.add(getJPanelWithBorder(titledBorder,"titledBorder"));

        //创建MatteBorder
        MatteBorder matteBorder = new MatteBorder(10, 5, 20, 10, Color.GREEN);
        jf.add(getJPanelWithBorder(matteBorder,"matteBorder"));

        //创建CompoundBorder
        CompoundBorder compoundBorder = new CompoundBorder(titledBorder, new LineBorder(Color.RED, 10));
        jf.add(getJPanelWithBorder(compoundBorder,"compoundBorder"));

        //3. 设置窗口最佳大小、设置窗口课件,处理关闭操作
        jf.pack();
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    }

    public JPanel getJPanelWithBorder(Border border, String content){
        JPanel jPanel = new JPanel();
        jPanel.add(new JLabel(content));

        // 设置边框
        jPanel.setBorder(border);

        return jPanel;
    }

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会编程的喵星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值