Swing/FileHidingEnabled の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/FileHidingEnabled へ行く。
- Swing/FileHidingEnabled の差分を削除
--- category: swing folder: FileHidingEnabled title: JFileChooserでの隠しファイルの非表示設定を変更する tags: [JFileChooser, JPopupMenu] author: aterai pubdate: 2014-03-17T00:01:02+09:00 description: JFileChooserで隠しファイルを表示するかどうかをポップアップメニューから切り替えます。 image: https://lh4.googleusercontent.com/-TSMPljQ02Ao/UyWixahVFzI/AAAAAAAACBw/n_Ctee0FJGQ/s800/FileHidingEnabled.png --- * 概要 [#summary] `JFileChooser`で隠しファイルを表示するかどうかをポップアップメニューから切り替えます。 #download(https://lh4.googleusercontent.com/-TSMPljQ02Ao/UyWixahVFzI/AAAAAAAACBw/n_Ctee0FJGQ/s800/FileHidingEnabled.png) * サンプルコード [#sourcecode] #code(link){{ chooser = new JFileChooser(); JPopupMenu pop = searchPopupMenu(chooser); pop.addSeparator(); JCheckBoxMenuItem mi = new JCheckBoxMenuItem(new AbstractAction("isFileHidingEnabled") { @Override public void actionPerformed(ActionEvent e) { chooser.setFileHidingEnabled(((JCheckBoxMenuItem) e.getSource()).isSelected()); } }); mi.setSelected(chooser.isFileHidingEnabled()); pop.add(mi); }} * 解説 [#explanation] 上記のサンプルでは、`JFileChooser#setFileHidingEnabled(boolean)`メソッドを使用して、隠しファイル、隠しフォルダーなどの表示・非表示を設定しています。 - `JFileChooser`のファイルリストで使用される`JPopupMenu`を直接参照する方法はないので`JFileChooser`以下の子コンポーネントを検索して`JPopupMenu`を取得する必要がある -- 参考: [[Containerの子Componentを再帰的にすべて取得する>Swing/GetComponentsRecursively]] -- [[Containerの子Componentを再帰的にすべて取得する>Swing/GetComponentsRecursively]] - 初期値は`OS`の設定(`Windows`なら「コントロールパネル、フォルダーオプション、表示、ファイルとフォルダーの表示」)に従う -- 参考: [[DesktopPropertyの変更を監視する>Swing/DesktopProperty]] -- [[DesktopPropertyの変更を監視する>Swing/DesktopProperty]] #code{{ Object showHiddenProperty = Toolkit.getDefaultToolkit().getDesktopProperty("awt.file.showHiddenFiles"); System.out.println("awt.file.showHiddenFiles: " + showHiddenProperty); }} * 参考リンク [#reference] - [http://crocro.com/news/20110706140746.html クロノス・クラウン - 「JFileChooser」のコンテキストメニューに独自メニューを追加する方法] - [[DesktopPropertyの変更を監視する>Swing/DesktopProperty]] - [[Containerの子Componentを再帰的にすべて取得する>Swing/GetComponentsRecursively]] * コメント [#comment] #comment #comment