问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 如何得到文件的系统图标

发布网友 发布时间:2022-04-27 09:46

我来回答

3个回答

热心网友 时间:2023-10-14 20:26

java可使用FileSystemView和ShellFolder类获取文件的小图标和大图标,以下是详细代码:

import java.awt.FlowLayout;
import java.io.File;
import java.io.FileNotFoundException;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.filechooser.FileSystemView;

public class GetFileIcon {
/**
 * @param args
 */
    public static void main( String[] args )
    {
        String    filePath    = "D:/sheet1.xlsx";
        File    f        = new File( filePath );
        JFrame    frm        = new JFrame();
        frm.setSize( 300, 200 );
        frm.setLocationRelativeTo( null );
        frm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frm.setVisible( true );
        frm.setLayout( new FlowLayout( 10, 10, FlowLayout.LEADING ) );

        JLabel sl = new JLabel( "小图标" );
        frm.add( sl );
        JLabel bl = new JLabel( "大图标" );
        frm.add( bl );

        sl.setIcon( getSmallIcon( f ) );
        bl.setIcon( getBigIcon( f ) );
    }


/**
 * 获取小图标
 * @param f
 * @return
 */
    private static Icon getSmallIcon( File f )
    {
        if ( f != null && f.exists() )
        {
            FileSystemView fsv = FileSystemView.getFileSystemView();
            return(fsv.getSystemIcon( f ) );
        }
        return(null);
    }


/**
 * 获取大图标
 * @param f
 * @return
 */
    private static Icon getBigIcon( File f )
    {
        if ( f != null && f.exists() )
        {
            try {
                sun.awt.shell.ShellFolder sf = sun.awt.shell.ShellFolder.getShellFolder( f );
                return(new ImageIcon( sf.getIcon( true ) ) );
            } catch ( FileNotFoundException e ) {
/* TODO Auto-generated catch block */
                e.printStackTrace();
            }
        }
        return(null);
    }
}

热心网友 时间:2023-10-14 20:27

FileSystemView fsv=new JFileChooser().getFileSystemView();
Icon icon=fsv.getSystemIcon(new File("123.jpg"));
系统中表示jpg格式文件图标就在icon变量中了。

热心网友 时间:2023-10-14 20:27

楼主你好
很高兴回答你的问题
有些手机,安装java软件时必须使用jad文件,比如三星的
回答完毕
谢谢
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...结构的施工分包给其他单位那么是不是EPC总承包就不能分包 Win11玩不了地平线4如何解决_Win11玩不了地平线4怎么办 Win11玩不了地平线4如何解决_Win11玩不了地平线4怎么解决 地平线5警告显卡内存过低怎么办 极限竞速地平线5闪退怎么解决 极限竞速地平线5闪退解决方法 怎样册除手机屏幕上(精品游戏)图标 烧结普通砖有哪些 烧结普通砖都有哪些 ...4年后的年龄与弟弟3年前的年龄和是35岁。今年哥与弟各几岁??_百度... ...等于弟弟7年后的年龄,哥哥4年后与弟弟3年前的年龄的和是35岁。哥哥... javascript如何获取图标 如何提取后缀为exe文件中的图标? 如何获取网站图标 请问怎么提取APP文件的图标 部署与布署哪个正确? 部署和布署有什么区别? 做(作)部署,是哪个做(作) 花木兰的最新皮肤什么 花木兰mvp皮肤多少钱。 王者荣耀花木兰的新皮肤叫什么名字 王者荣耀新版花木兰哪个皮肤好一些? 花木兰皮肤手感排行是怎么样的? 王者荣耀花木兰限定皮肤多少钱 花木兰限定皮肤介绍 你认为王者荣耀里花木兰哪些皮肤的手感最好呢? 王者荣耀花木兰皮肤兔女郎的台词,求!必须全! 王者荣耀花木兰有几个皮肤? 花木兰皮肤 给我花木兰皮肤的所有台词要正确一句不落。 有没有完整的动画片《花木兰》评论?拜托啊~~ 花木兰的所有皮肤中就论价格哪个实惠? 获取应用程序图标 通过窗口句柄获取窗口图标的几种办法 从C#程序获取图标 怎么提取软件中的图标? 如何获取psd文件中的小图标 windows 10怎样获得桌面图标 土楼的介绍 福建土楼的介绍 介绍以下土楼 客家土楼的介绍 福建土楼介绍? 介绍土楼的特色,成因,流传价值400 永定土楼的介绍 闽西土楼的简介 闽西土楼的介绍 阳产土楼的介绍 在冬季怎样拍出独一无二的雪景照片? 求几张雪景的唯美照片,谢谢,在线等。 三月飘雪的哈尔滨,如何在雪地里拍出优美的照片? 雪景拍摄