Swing/FileHidingEnabled のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/FileHidingEnabled へ行く。
- 1 (2014-10-02 (木) 19:40:40)
- 2 (2015-11-07 (土) 03:56:08)
- 3 (2017-02-06 (月) 16:09:21)
- 4 (2017-12-21 (木) 14:38:23)
- 5 (2018-09-20 (木) 21:35:55)
- 6 (2020-09-23 (水) 00:42:25)
- 7 (2022-05-22 (日) 08:34:54)
- 8 (2025-01-03 (金) 08:57:02)
- 9 (2025-01-03 (金) 09:01:23)
- 10 (2025-01-03 (金) 09:02:38)
- 11 (2025-01-03 (金) 09:03:21)
- 12 (2025-01-03 (金) 09:04:02)
- title: JFileChooserでの隠しファイルの非表示設定を変更する tags: [JFileChooser, JPopupMenu] author: aterai pubdate: 2014-03-17T00:01:02+09:00
概要
JFileChooser
で隠しファイルを表示するかどうかをポップアップメニューから切り替えます。
Screenshot

Advertisement
サンプルコード
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);
View in GitHub: Java, Kotlin解説
上記のサンプルでは、JFileChooser#setFileHidingEnabled(boolean)
メソッドを使用して、隠しファイル、隠しフォルダーなどを表示するかどうかを設定しています。
- 初期値は、
OS
の設定(Windows
なら「コントロールパネル、フォルダーオプション、表示、ファイルとフォルダーの表示」)に従う
Object showHiddenProperty = Toolkit.getDefaultToolkit().getDesktopProperty("awt.file.showHiddenFiles");
System.out.println("awt.file.showHiddenFiles: " + showHiddenProperty);
JFileChooser
からJPopupMenu
を直接取得することが出来ないので、以下のように子コンポーネントを検索しています。
private static JPopupMenu searchPopupMenu(Container parent) {
for (Component c: parent.getComponents()) {
if (c instanceof JComponent && ((JComponent) c).getComponentPopupMenu() != null) {
return ((JComponent) c).getComponentPopupMenu();
} else {
JPopupMenu pop = searchPopupMenu((Container) c);
if (pop != null) {
return pop;
}
}
}
return null;
}