概要

FileDialogを使用してファイルを選択します。

サンプルコード

JButton button1 = new JButton("FileDialog(Frame)");
button1.addActionListener(e -> {
  Frame frame = JOptionPane.getFrameForComponent(this);
  FileDialog fd = new FileDialog(frame, "title");
  fd.setTitle("FileDialog(Frame frame, String title)");
  fd.setDirectory(System.getProperty("user.home"));
  fd.setVisible(true);
  if (fd.getFile() != null) {
    File file = new File(fd.getDirectory(), fd.getFile());
    append(file.getAbsolutePath());
  }
});
View in GitHub: Java, Kotlin

解説

  • FileDialog(Frame)
    • new FileDialog(Frame frame, String title)FileDialogを作成
    • FileDialog#setVisible(true)FileDialogを開く前の場合、FileDialog#setTitle(...)でタイトルを変更可能
    • FileDialogWindowListenerを追加してwindowOpened後にFileDialog#setTitle(...)でタイトル変更は不可
    • FileDialog#setLocation(...)などで表示位置の変更は不可
      • 値は変更されるが実際の表示位置には反映されない
    • FileDialogWindowListenerは有効だがWindowStateListenerは無効?
    • FileDialog#getFile()メソッドで選択されたファイルの名前が文字列で取得可能
    • フルパスが必要な場合はFileDialog#getDirectory()で親ディレクトリを取得てnew File(String parent, String child)などでFileを生成しFile#getAbsolutePath()メソッドを使用する
  • FileDialog(Dialog)

参考リンク

コメント