TITLE:JFileChooserのデフォルトをDetailsViewに設定

Posted by terai at 2011-01-10

JFileChooserのデフォルトをDetailsViewに設定

JFileChooserを開いたときのデフォルトをリストではなく詳細に変更します。

  • &jar;
  • &zip;
DetailsViewFileChooser.png

サンプルコード

searchAndClick(chooser, UIManager.getIcon("FileChooser.detailsViewIcon"));
private static boolean searchAndClick(Container parent, Icon icon) {
  for(Component c:parent.getComponents()) {
    if(c instanceof JToggleButton && ((JToggleButton)c).getIcon()==icon) {
      ((AbstractButton)c).doClick();
      return true;
    }else{
      if(searchAndClick((Container)c, icon)) return true;
    }
  }
  return false;
}

解説

上記のサンプルでは、JFileChooserの子で、UIManager.getIcon("FileChooser.detailsViewIcon")アイコンが設定されているJToggleButtonを検索し、doClick()することで、ListからDetailsView(詳細)に切り替えています。


警告されますが、以下のように sun.swing.FilePane#setViewType(sun.swing.FilePane.VIEWTYPE_DETAILS)を使用する方法もあります。

sun.swing.FilePane filePane = (sun.swing.FilePane)findChildComponent(chooser, sun.swing.FilePane.class);
filePane.setViewType(sun.swing.FilePane.VIEWTYPE_DETAILS);

参考リンク

コメント