首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 swing 中显示生成的文件列表中的文件图标

在Swing中显示生成的文件列表中的文件图标,可以通过使用JFileChooser和FileView来实现。

  1. 首先,使用JFileChooser创建一个文件选择对话框,用于选择文件或文件夹。可以设置对话框的初始目录、文件过滤器等。
代码语言:java
复制
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fileChooser.setCurrentDirectory(new File("路径"));
fileChooser.setFileFilter(new FileNameExtensionFilter("文本文件", "txt"));
  1. 创建一个自定义的FileView类,用于显示文件列表中的文件图标。可以通过继承FileView类并重写其中的方法来实现。
代码语言:java
复制
class CustomFileView extends FileView {
    @Override
    public Icon getIcon(File file) {
        if (file.isDirectory()) {
            return UIManager.getIcon("FileView.directoryIcon");
        } else {
            String fileName = file.getName();
            String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);
            // 根据文件扩展名返回对应的图标
            if (fileExtension.equalsIgnoreCase("txt")) {
                return new ImageIcon("txt图标路径");
            } else if (fileExtension.equalsIgnoreCase("doc")) {
                return new ImageIcon("doc图标路径");
            } else {
                return UIManager.getIcon("FileView.fileIcon");
            }
        }
    }
}
  1. 将自定义的FileView对象设置给JFileChooser,以便在文件列表中显示文件图标。
代码语言:java
复制
fileChooser.setFileView(new CustomFileView());

完整的示例代码如下:

代码语言:java
复制
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.filechooser.FileView;
import java.io.File;

public class FileListWithIcon {
    public static void main(String[] args) {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        fileChooser.setCurrentDirectory(new File("路径"));
        fileChooser.setFileFilter(new FileNameExtensionFilter("文本文件", "txt"));
        fileChooser.setFileView(new CustomFileView());

        int result = fileChooser.showOpenDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            File selectedFile = fileChooser.getSelectedFile();
            System.out.println("Selected file: " + selectedFile.getAbsolutePath());
        }
    }

    static class CustomFileView extends FileView {
        @Override
        public Icon getIcon(File file) {
            if (file.isDirectory()) {
                return UIManager.getIcon("FileView.directoryIcon");
            } else {
                String fileName = file.getName();
                String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);
                // 根据文件扩展名返回对应的图标
                if (fileExtension.equalsIgnoreCase("txt")) {
                    return new ImageIcon("txt图标路径");
                } else if (fileExtension.equalsIgnoreCase("doc")) {
                    return new ImageIcon("doc图标路径");
                } else {
                    return UIManager.getIcon("FileView.fileIcon");
                }
            }
        }
    }
}

请注意,示例中的"txt图标路径"和"doc图标路径"需要替换为实际的图标文件路径。另外,还可以根据需要添加更多的文件类型和对应的图标。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android保存文件显示文件管理最近文件和下载列表方法

这篇记录是Android如何把我们往存储写入文件,如何显示文件管理下载列表、最近文件列表。...假设保存文件为外部存储File file,也许是app私有目录(未测试)、也许是外部存储根目录download、pictures等目录(没发现问题)。...第一步,暴力扔给媒体扫描,管你是不是图片 如果我们文件是图片、视频、音乐等媒体文件显示到相册等地方 context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE..., Uri.fromFile(file))); 第二步,添加到下载列表,自动会显示到最近文件 String mime=MimeTypeMap.getSingleton().getMimeTypeFromExtension...:DownloadManager.addCompletedDownload,调用后会把文件添加到下载列表,并出现在最近文件列表(图片是会,其他类型测试可能会)。

3K20

Confluence 6 多媒体文件和在页面显示文件列表

多媒体文件 文件预览同时也支持 MP3 音频和 MP4 视频文件。Confluence 使用 HTML 5 来播放附加音频和视频文件。...这个意味着这些文件类型文件格式,用户可以支持浏览器中直接进行播放。 你同时也可以显示其他很多类型多媒体文件(视频,音频和动画),你需要使用  多媒体(Multimedia)宏....页面显示文件列表 为了页面显示文件列表,我们有多种办法来进行显示,你可以: 使用 附件(Attachments) Macro来显示当前页面附件。...使用 空间附件(Space Attachments) Macro 来显示空间中所有附件文件。 使用 图片相册(Gallery)Macro 来显示附加到页面图片文件缩略图。...你还可以针对上传,查看,管理文件列表使用 文件列表蓝图(File List blueprint)。

84640
  • Confluence 6 多媒体文件和在页面显示文件列表

    多媒体文件 文件预览同时也支持 MP3 音频和 MP4 视频文件。Confluence 使用 HTML 5 来播放附加音频和视频文件。...这个意味着这些文件类型文件格式,用户可以支持浏览器中直接进行播放。 你同时也可以显示其他很多类型多媒体文件(视频,音频和动画),你需要使用  多媒体(Multimedia)宏....页面显示文件列表 为了页面显示文件列表,我们有多种办法来进行显示,你可以: 使用 附件(Attachments) Macro来显示当前页面附件。...使用 空间附件(Space Attachments) Macro 来显示空间中所有附件文件。 使用 图片相册(Gallery)Macro 来显示附加到页面图片文件缩略图。...你还可以针对上传,查看,管理文件列表使用 文件列表蓝图(File List blueprint)。

    72650

    显示文件文件关联图标和说明

    Int((lnValue - b3*m2 - b2*m1)/m0) b0 = Mod(lnValue, m0) RETURN Chr(b0)+Chr(b1)+Chr(b2)+Chr(b3) 每种文件类型关联图标和说明存储注册表...例如,若要获取 DBF 文件这些关联,第一步是找到“HKEY_CLASSES_ROOT.dbf”注册表项。此项默认值为“Visual.FoxPro.Table”。...这意味着组图标 #103 资源存在于 VFP9 可执行文件。 此资源包含操作系统需要时用于表示视觉 FoxPro DBF 文件几个图标;例如,资源管理器窗口中显示文件列表时。...资源查看器显示此资源以及存储 VFP9 可执行文件其他资源。 以类似的方式,任何其他文件类型(读取“文件扩展名”)都可以追溯到图标+描述对。...没有单一规则,寻找关联方法即使不是混乱,也是棘手。走这条路需要相当广泛编码。幸运是,MS费心SHGetFileInfo API调用隐藏了该过程复杂性。

    18341

    Linux 重命名文件所有文件

    Linux系统,有时候我们需要批量重命名文件所有文件,以便更好地组织和管理文件。本文将详细介绍几种Linux重命名文件夹中所有文件方法,包括使用命令行工具和脚本等方式。...执行mv命令之前,可以先执行一个测试命令来确认重命名操作是否符合预期。ls -l这将列出文件文件,并显示它们详细信息。确保重命名操作没有出现错误,并且文件名已按预期修改。执行重命名操作。...然后,终端运行以下命令来执行脚本:bash rename_script.sh脚本将遍历文件所有文件,检查文件扩展名是否为.txt,如果是,则将其重命名为.md。...结语通过使用mv命令、rename命令和脚本,我们可以Linux轻松地重命名文件所有文件。本文详细介绍了三种常用方法,包括使用mv命令、rename命令和编写脚本来实现批量重命名操作。...使用mv命令可以直接在命令行执行简单重命名操作,适用于简单文件名修改。通过结合通配符和新旧文件名模式,我们可以轻松地重命名文件所有文件

    4.9K40

    针对生成图片文件系统Gallery不显示处理

    之前遇到过一个问题,就是发现我程序中生成一个新 Bitmap 之后,当我打开系统 Gallery 查看时,并没有看到新生成图像。...然而打开文件浏览器,找到保存 Bitmap 所在文件夹下,还能看到程序生成 Bitmap 文件。也就是说,文件其实存在,但 Gallery 似乎并没有刷新。...之后,又一个新行为证实了我观点,即,每次重启设备之后, Gallery 中就会显示生成 Bitmap 了。...,就可以 Gallery 中看到新生成图片了!   ...然后我又发现了一个问题:如果我程序删除了某个图片,结果发现 Gallery 还有这个图片路径,能看到有这个图片,但打开图片是一片灰色。

    79110

    ASP.NET Core结合枚举和资源文件显示列表

    模型类某些属性以枚举形式出现,我们希望在打开编辑表单时选择列表显示枚举值。有时我们想要枚举元素名称,但有时我们想要使用自定义名称甚至翻译。...这个例子演示了如何获取枚举元素名称以选择ASP.NET Core上列表。 假设我们有一个客户实体,其客户类型属性定义为枚举。...: 枚举成员仅一个名字 具有Display属性和静态名称Enum成员 具有显示属性和资源文件枚举成员 我资源文件在这里。...现在添加了一个简单编辑视图,并使用Html.GetEnumSelectList()扩展方法来填充带有enum成员选择列表。注意我如何添加第一个空选择(选择类型)作为选择列表唯一成员。...,并且ASP.NET Core带有名称和资源文件DisplayAttribute。

    1.5K20

    【Flutter】Icons 组件 ( FlutterIcon 下载图标 | 自定义 svg 图标生成 ttf 字体文件 | 使用下载 ttf 图标文件 )

    文章目录 一、FlutterIcon 下载图标 二、自定义 svg 图标生成 ttf 字体文件 三、使用下载 ttf 图标文件 四、完整代码示例 五、相关资源 一、FlutterIcon 下载图标 -...--- https://www.fluttericon.com/ 可以根据需求挑选合适 icon 图标 , 生成 ttf 文件 ; 下图中 , 选中需要生成 ttf 字体文件图标 , 这里选中了前..., 后面一串是随机生成数字 ; 该压缩包主要有三个文件 , ① ttf 字体文件 : MyFlutterApp.ttf , svg 格式图标就封装在该文件 ; ② dart 文件 : Flutter..., 页面 Custom Icons 区域会显示这 20 个 SVG 图标 ; 选中这些图标 , 点击 DOWNLOAD 按钮 , 即可下载生成 ttf 格式文件 ; 三、使用下载 ttf...图标文件 ---- 将 MyFlutterApp.ttf 字体文件拷贝到 Flutter 源码根目录下 fonts 目录下 , pubspec.yaml 配置文件配置字体文件 , name:

    2.5K20

    【Eclipse】eclipse让Button选择文件显示文本框里

    在给定代码片段,使用了Float.parseFloat(text)方法将文本转换为浮点数。然后,使用逻辑运算符进行条件判断,如果转换后浮点数大于0或小于0,则执行相应操作。...问题:Eclipse如何实现让Button选择文件显示文本框里?回答:Eclipse,可以使用Java Swing库来实现让Button选择文件显示文本框里功能。...然后,可以使用JFileChooser类来创建一个文件选择对话框,并将其与按钮关联起来。当用户点击按钮时,可以通过JFileChooser选择文件,并将文件路径显示文本框。...具体实现代码可以参考以下示例: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton...; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JTextField; public

    16310

    通过重建图标缓存文件来解决程序图标显示错误问题

    最近发现一两个程序图标显示不太正确。很明显,上图资源管理器与详细信息面板图标不同。...显然,需要重建图标缓存文件IconCache.db(Vista/7下路径%USERPROFILE%\AppData\Local\IconCache.db) 。...需要说明是,由于它是系统文件,所以它不能以正常方式进行删除。 下面是国内一些网友做法: 1、 step1:开机按F8启动到安全模式。...step2:打开windows vista所在盘符,使用搜索找到iconcache.db这个文件,将其删除。 step3:重启到正常模式,桌面图标就恢复正常啦!...如果搜索没有找到缓存文件iconcache.db,请尝试手动查找以下位置:vista系统所在盘\Users\user name\AppData\Local 2、 使用重建图标缓存工具,如tweakui

    1.3K10

    Nodejs读取文件目录所有文件

    关于Nodejs文件系统即File System可以参考官方Node.js v12.18.1文档File system Nodejsfs模块 fs模块提供了一种API,用于以与标准POSIX函数紧密相似的方式与文件系统进行交互...使用fs模块: const fs = require('fs'); 所有文件系统操作都具有同步和异步形式。 异步形式始终将完成回调作为其最后一个参数。...举个例子,我想读取上一级目录下所有文件 同步读取上级目录下所有文件 如果采用同步读取的话,可以使用fs模块readdirSync方法,示例如下: const fs = require('fs');...// 同步读取上级目录下所有文件到files const files = fs.readdirSync('../'); console.log(files); 异步读取上级目录下所有文件 如果采用异步读取的话...,可以使用fs模块readdirSync方法,示例如下: const fs = require('fs'); // 异步读取上级目录下所有文件 fs.readdir('../', function

    14.7K40

    python修改.properties文件操作

    java 编程,很多配置文件用键值对方式存储 properties 文件,可以读取,修改。...而且java 中有 java.util.Properties 这个类,可以很方便处理properties 文件python 虽然也有读取配置文件类ConfigParser, 但如果习惯java...编程的人估计更喜欢下面这个用python 实现读取 properties 文件类: """ A Python replacement for java.util.Properties class...才可以看到效果,基本可以达到用python 读写 properties 文件效果. 补充知识:python修改配置文件某个字段 思路:要修改文件filepath ?...以上这篇python修改.properties文件操作就是小编分享给大家全部内容了,希望能给大家一个参考。

    3.8K20

    linux显示所有文件大小,显示文件夹下文件个数,hadoop命令查看文件夹下个数命令,模糊查询

    /company -type f | wc -l       查看某文件夹下文件个数,包括子文件夹里。       ...ls -lR|grep “^d”|wc -l       说明:       ls -l       长列表输出该目录下文件信息(注意这里文件,不同于一般文件,可能是目录、链接、设备文件等)...      grep “^-“       这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d       wc -l       统计输出信息行数,因为已经过滤得只剩一般文件了...查看指定文件大小 df -g 以G为单位查看系统目录内存情况 统计文件大小 du -h  磁盘使用率:du -h hadoop命令查看文件夹下个数命令: hadoop fs -ls / |grep...“^-“|wc -l 打印所有子文件夹下文件个数 hadoop fs -ls -R |grep “^-“|wc -l hadoop下显示文件大小 hadoop fs -du / 命令其实同linux

    4K20

    EclipseJSP生成class文件去了哪里?

    大家都知道,JSP在请求时候,会先转化成Servlet(其实就是个java类),然后生成class文件,再提供服务。 那么生成java、class文件在哪呢?...如果你Eclipse双击Server配置选项,Server Location中分别选了如下选项: ?   ...服务器目录,即生成字节码和java文件所在目录。它在你eclipse工作目录,比如我工作目录是F://workspace,那么该目录下就可以看到这个.metadata目录了。 ?   ...选择该项,可以自定义生成空间。 ?   另外说一点,JSP生命周期   这是老生常谈问题了,用户把工程部署到tomcat,然后启动tomcat!...在生成.java文件,可以看到生成java文件: package org.apache.jsp; import javax.servlet.*; import javax.servlet.http

    1.7K80

    class文件方法表集合--method方法class文件是怎样组织

    对于定义若干个,经过JVM编译成class文件后,会将相应method方法信息组织到一个叫做方法表集合结构,字段表集合是一个类数组结构,如下图所示: ?...class文件机器指令部分是class文件中最重要部分,并且非常复杂,本文重点不止介绍它,我将专门一片博文中讨论它,敬请期待。...属性表: 编译器将java源码编译成class文件时,会将源码语句行号跟编译好机器指令关联起来,这样class文件加载到内存并运行时,如果抛出异常,JVM可以根据这个对应关系,抛出异常信息...如果使用了-g:none来生成class文件,class文件中将不会有LineNumberTable属性表,造成影响就是 将来如果代码报错,将无法定位错误信息报错行,并且如果项调试代码,将不能在此类打断点...细心读者会注意到,我们Simple.java中就定义了一个greeting()方法,为什么class文件中会显示有两个方法呢??

    1.7K50
    领券