Javaでフォルダとファイルのツリーを作成しています。Windows と OSX は、システム アイコンと名前を次のコードで返します。
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
UNIX システムのアイコンと名前を取得する可能性はありますか? システムコマンドでもOKです。
ありがとう。
Javaでフォルダとファイルのツリーを作成しています。Windows と OSX は、システム アイコンと名前を次のコードで返します。
new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);
UNIX システムのアイコンと名前を取得する可能性はありますか? システムコマンドでもOKです。
ありがとう。
私はテストしていませんが、このコードはほとんどのシステムで動作するはずです:
FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);
作業中のシステムの名前をいつでも取得できます。Java を使用すると、ネイティブ実行を実行して、その結果を取得できます (コマンド ライン。UNIX の場合は、Runtime.exec("uname -a");)。出力ストリームで結果を解析します。
そうは言っても、UNIX カーネルの上にはさまざまな GUI レイヤーの実装があり、ファイル タイプとアイコン イメージの間のマッピングを取得する標準的な方法はありません。ウィンドウマネージャーに固有のソリューションを作成できますが、使用されている wm に基づいてアルゴリズムを変更する必要があります。