2K 显示器上的 JFileChooser 图标

Posted

技术标签:

【中文标题】2K 显示器上的 JFileChooser 图标【英文标题】:JFileChooser icons on 2K Displays 【发布时间】:2015-06-29 21:07:33 【问题描述】:

知道如何制作 Java Swing 文件选择器 在 2K 显示器上看起来更好 字体缩放比例 > 125%?

我使用的是普通代码如:

JFileChooser fc = new JFileChooser();
if (settings.currentdir != null)
   fc.setCurrentDirectory(new File(settings.currentdir));
int returnVal = fc.showOpenDialog((Window) holder);
if (returnVal == JFileChooser.APPROVE_OPTION) 

但是文件选择器只显示很小 列出的文件和目录的图标。我在用 JDK 8. 出了什么问题?

P.S.:问题的范围只是 Windows,不是 Unix系统。在 Windows 上,两个默认的 L&F,它们 缩放字体。但他们不缩放图标。这 应用程序必须这样做,因为它可能使用 用于更高比例的不同位图资源。 似乎 JFileChooser 不是这样编码的。

但是 JFileChooser 可能是 指示这样做。我不认为 其他问题解决了图标大小和 Windows 上的 JFileChooser:How to set the DPI of Java Swing apps on Windows/Linux? 其他问题涉及字体大小,即 Windows 上的 JFileChooser 不是问题 两个 Windows L&F 之一。

【问题讨论】:

How to set the dpi of java swing apps on Windows/Linux?的可能重复 AFAIK,现在不可能。请在bugreport.java.com 提交错误/RFE 【参考方案1】:

当我遇到这个线程时,我只是一个快速的想法。您可以尝试提供自己的图标集:

new JFileChooser().setFileView(new FileView() 
        @Override
        public Icon getIcon(File f) 
            return fancy2kIconForExtension(StringUtils.substringAfterLast("."));
        
    );

小心从缓存加载你的图标,因为这个方法经常从JFileChooser内部调用,否则你最终会一直重新加载图标。

【讨论】:

好的,可能很快就会尝试一下。顺便说一句:我注意到很多应用程序都存在缩放问题,例如 android SDK 下载管理器在 2K 显示器上看起来很糟糕,几乎无法使用。奇怪的是,甲骨文、谷歌等都没有解决这个问题。

以上是关于2K 显示器上的 JFileChooser 图标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JFileChooser 中显示文件的默认系统图标?

如何在 Java 9+ 中使用 JFileChooser 显示网络共享?

mac版win10装eclipse图标太小了,解决办法(2k显示屏+win10)

简单的 JFileChooser FileFilter 不起作用

Mac 外接 2K 显示屏教程

如何使 JFileChooser 显示除 .huff 文件之外的所有类型的文件 [重复]