java - 2K 显示器上的 JFileChooser 图标

标签 java windows swing jfilechooser

知道如何制作 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 之一。

最佳答案

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

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

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

关于java - 2K 显示器上的 JFileChooser 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29793656/

相关文章:

java - 黑莓替换字符串的方法?

C# - 使用 OnStart 方法调用线程

java - 如何使 Java URI 类停止使用文件

javascript - Citrix XenApp - 通过 CMD/DLL/Something 注销

java - 在 jdbc 应用程序中向前移动 rs.next()

java - 想要一个带有透明背景图像的 JLabel

java - pom.xml 中需要两个 Maven 版本 - 怎么办?

java - 在后退键上出现强制关闭错误

java - 具有不同 log4j2.xml 的两个应用程序正在尝试登录到同一日志文件

c - libusb 无法在 Windows 上打开 CDC 设备,但可以在 Linux 上打开