Java控制台打印样式diy

java 控制台打印样式diy 目前只在idea测试 没有在cmd eclipse等其他地方测试。
System.out.print("\033[ ( 这里填样式数字 )m"+msg)

/**
 * @author : lrq
 * @Title :
 * @date :  2020-12-02 10:50
 *         0无样式
 *         1加粗
 *         3斜体
 *         4下划线
 *         9删除线
 *         21加粗下划线
 *         字体颜色  背景颜色
 *      红色 31 91     41
 *      绿色 31 91     42
 *      黄色 33 93     43
 *      蓝色 34 94     44
 *      紫色 35 95     45
 *      浅蓝 36 96     46
 *      灰色 37 90     47
 *      反转    97     40  7(两个一起反转)
 */
public class PrintStyleUtil{

    enum PrintStyleEnum{
        无样式(0),
        加粗(1),
        斜体(3),
        下划线(4),
        删除线(9),
        加粗下划线(21),
        字体颜色红色(31),
        字体颜色绿色(32),
        字体颜色黄色(33),
        字体颜色蓝色(34),
        字体颜色紫色(35),
        字体颜色浅蓝(36),
        字体颜色灰色(37),
        字体颜色红色鲜艳(91),
        字体颜色绿色鲜艳(91),
        字体颜色黄色鲜艳(93),
        字体颜色蓝色鲜艳(94),
        字体颜色紫色鲜艳(95),
        字体颜色浅蓝鲜艳(96),
        字体颜色灰色鲜艳(90),
        /**
         * 将当前背景颜色设置为字体颜色
         */
        字体颜色背景颜色(97),
        背景颜色红色(41),
        背景颜色绿色(42),
        背景颜色黄色(43),
        背景颜色蓝色(44),
        背景颜色紫色(45),
        背景颜色浅蓝(46),
        背景颜色灰色(47),
        /**
         * 将当前字体颜色设置为背景颜色
         */
        背景颜色字体颜色(40),
        /**
         * 字体颜色与背景颜色互换
         */
        颜色反转(7);
        private final int code;
        private PrintStyleEnum(int code) {
            this.code = code;
        }
    }

    public  static <T> void Print(T t){
        Print(t,PrintStyleEnum.颜色反转);
    }
    public  static <T> void Println(T t){
        Println(t,PrintStyleEnum.颜色反转);
    }
    public static <T> void Print(T t,PrintStyleEnum... printStyleEnums){
        for (PrintStyleEnum printStyleEnum : printStyleEnums) {
            System.out.print("\033["+printStyleEnum.code+"m");
        }
        System.out.print(t);
        ending();
    }
    public static <T> void Println(T t,PrintStyleEnum... printStyleEnums){
        Print(t,printStyleEnums);
        Wrap();
    }

    /**
     * 清除设置的样式
     */
    public static void ending(){
        System.out.print("\033[0m");
    }

    /**
     * 换行
     */
    private static void Wrap(){
        System.out.println();
    }

    /**
     *  设置控制台打印文本样式,与ending()方法一起使用
     * @param printStyleEnums 设置的样式
     */
    public static  void setStyle(PrintStyleEnum... printStyleEnums){
        for (PrintStyleEnum printStyleEnum : printStyleEnums) {
            System.out.print("\033["+printStyleEnum.code+"m");
        }
    }
}

class TestPrint{
    public static void main(String[] args) {
        PrintStyleUtil.Print("sout");
        PrintStyleUtil.Print("asd",PrintStyleUtil.PrintStyleEnum.加粗下划线,PrintStyleUtil.PrintStyleEnum.字体颜色蓝色,PrintStyleUtil.PrintStyleEnum.背景颜色红色, PrintStyleUtil.PrintStyleEnum.颜色反转);
        PrintStyleUtil.Print("sout",PrintStyleUtil.PrintStyleEnum.删除线,PrintStyleUtil.PrintStyleEnum.字体颜色红色,PrintStyleUtil.PrintStyleEnum.颜色反转);
        PrintStyleUtil.Println("sout",PrintStyleUtil.PrintStyleEnum.字体颜色背景颜色,PrintStyleUtil.PrintStyleEnum.背景颜色红色,PrintStyleUtil.PrintStyleEnum.下划线,PrintStyleUtil.PrintStyleEnum.加粗下划线);

        PrintStyleUtil.setStyle(PrintStyleUtil.PrintStyleEnum.背景颜色红色,PrintStyleUtil.PrintStyleEnum.加粗下划线);
        System.out.println("sssssss");
        System.out.println("ssssaaaasss");
        PrintStyleUtil.ending();
        System.out.println("aaaaaa");

    }
}

测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值