JLabel 展示 svg 格式的 图标 icon

文章介绍了在JavaSwing应用中如何通过JLabel显示SVG图标,由于JLabel原生不支持SVG,因此需要引入flatlaf-extras库来实现。项目是一个Maven工程,资源文件存储在src/main/resources/images下,代码示例展示了如何加载并显示SVG图标。
摘要由CSDN通过智能技术生成

1、需求说明

在客户端程序中,经常会有展示一个icon图标的需求。
在 java swing 中,JLabel 被设计成了 展示静态文本 、静态icon的组件。
JLabel 的 setIcon 方法,可以设置icon图标,并进行展示;
但是,JLabel 并没有原生的实现 对 svg 格式的图标的展示;
本案例 介绍一下如何进行 svg 格式的图片的展示。

2、项目目录介绍

本项目是一个maven项目,各位coder可以根据自己的实际项目
由于icon资源是静态存放在项目目录下的,
因此各位coder请先熟悉我的案例项目结构,
然后再继续向下阅读!
Java-Swing-Demo
   | -- src
   		| -- main
   			| -- java
   				| -- com.xx.JavaSwingTest
   			| -- resources
   				| -- images
   					| -- a.svg
   		| -- test
   | -- pom.xml

3、案例代码

3.1 pom.xml

需要借助第三方的工具包 ,
pom.xml 中添加如下依赖。
    <!-- 展示svg 格式图片的依赖 -->
    <dependency>
      <groupId>com.formdev</groupId>
      <artifactId>flatlaf-extras</artifactId>
      <version>3.0</version>
    </dependency>

3.2 java 代码

import javax.swing.*;
import java.awt.*;
import java.net.URL;

public class JavaSwingTest {
    public static void main(String[] args) {
      
        // 1.主窗体对象
        JFrame jFrame = new JFrame("测试窗口");

        // 2.使用 JLabel 进行 icon 的展示:读取 svg 对象
        ClassLoader classLoader = JavaSwingTest.class.getClassLoader();
        ImageIcon flatSVGIcon = new FlatSVGIcon("images/a.svg", 50, 50, classLoader);
        JLabel jLabel = new JLabel();
        jLabel.setIcon(flatSVGIcon);
        
        jFrame.add(jLabel, BorderLayout.CENTER);

        // 主窗口的基本属性
        jFrame.setBounds(300,300,60,60);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

4、运行结果

在这里插入图片描述

5、完成

Congratulations! You are one step closer to your success!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值