• category: swing folder: FileChooserNewFolder title: JFileChooserのテンプレート新規フォルダ名を変更する tags: [JFileChooser, UIManager] author: aterai pubdate: 2023-07-24T01:40:47+09:00 description: JFileChooserで新規フォルダを作成するときに使用するテンプレートフォルダ名を変更します。 image: https://drive.google.com/uc?id=1R2Ntdo5TiC-L9M31OVIzgq-U7J4nxixK

概要

JFileChooserで新規フォルダを作成するときに使用するテンプレートフォルダ名を変更します。

サンプルコード

String newFolderKey = "FileChooser.win32.newFolder";
String subsequentKey = "FileChooser.win32.newFolder.subsequent";
info(log, newFolderKey);
info(log, subsequentKey);
UIManager.put(newFolderKey, "新しいフォルダー");
UIManager.put(subsequentKey, "新しいフォルダー ({0})");
info(log, newFolderKey);
info(log, subsequentKey);
View in GitHub: Java, Kotlin

解説

  • FileChooser.win32.newFolder
    • このキーでJFileChooserの「新規フォルダの作成」ボタンや「新規フォルダ」メニューで新しいフォルダを作成する場合のテンプレート新規フォルダ名を設定、変更可能
      • Windows環境以外ではFileChooser.other.newFolderが使用される
    • 日本語環境での初期値は「新規フォルダ」で、このサンプルでは「新しいフォルダー」に変更
      • com/sun/swing/internal/plaf/basic/resources/basic_ja.java
      • JMenuItemのタイトルに適用されるFileChooser.newFolderActionLabelTextの初期値も「新規フォルダ」だが、この文字列を変更してもテンプレート新規フォルダ名には影響しない
    • テンプレート新規フォルダ名はFileSystemViewで設定されるのでJFileChooserを再作成しても変更不可
  • FileChooser.win32.newFolder.subsequent
    • すでにテンプレート新規フォルダ名と同名のフォルダーが存在する場合、代わりに使用するフォルダー名テンプレート
      • Windows環境以外ではFileChooser.other.newFolder.subsequentが使用される
    • FileChooser.win32.newFolderで設定するテンプレートは完全に別の設定となる

swing - Java JFileChooser "New Folder" translation - Stack Overflow MessageFormat (Java Platform SE 8)

参考リンク

コメント