2015-04-22 33 views
6

任何想法如何使Java Swing文件選擇器 在2K顯示器上看起來更好,其中Windows 字體縮放大於125%?2K顯示器上的JFileChooser圖標

我使用普通的代碼,如:

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.出了什麼問題?

問題:問題的範圍只有Windows,而不是 Unixes。在Windows上,兩個默認的L & F,他們 縮放字體。但他們不會縮放圖標。 應用程序必須這樣做,因爲它可能會使用 不同的位圖資源來實現更高的比例。 看來,JFileChooser沒有這樣編碼。

但它可能是JFileChooser可以 指示這樣做。我不明白的是, 其他問題地址圖標大小和 的JFileChooser在Windows上:字體大小How to set the DPI of Java Swing apps on Windows/Linux?的 等問題的交易,這是 不是對JFileChooser在Windows上有問題的兩個Windows大號&的 一個F.

+0

[如何在Windows/Linux上設置java swing應用程序的dpi的可能的重複?](http://stackoverflow.com/questions/15659044/how-to-set-the-dpi-of-java-swing -apps-on-windows-linux) – Joe

+0

AFAIK,現在不可能。請在http://bugreport.java.com提交bug/RFE – hendrik

回答

1

只是一個快速的想法,而我碰到這個線程。您可以嘗試提供你自己的圖標集:

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

小心從緩存加載圖標,這種方法稱爲經常從裏面JFileChooser,否則你最終重新加載圖標所有的時間。

+0

好的,可以儘快試一試。順便說一句:我注意到很多應用程序都有擴展問題,例如Android SDK下載管理器在2K顯示器上看起來很糟糕,幾乎不可用。奇怪的是,這不是由甲骨文,谷歌等。 –