概要

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());
 }

});

解説

  • 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)

参考リンク

コメント