Swing/FileDialog の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/FileDialog へ行く。
- Swing/FileDialog の差分を削除
--- category: swing folder: FileDialog title: FileDialogでファイルを選択する tags: [FileDialog, File] author: aterai pubdate: 2019-07-22T16:47:18+09:00 description: FileDialogを使用してファイルを選択します。 image: https://drive.google.com/uc?id=160UZBhnWm9tvyAZVDT76viFOmqNicVDQ --- * 概要 [#summary] `FileDialog`を使用してファイルを選択します。 #download(https://drive.google.com/uc?id=160UZBhnWm9tvyAZVDT76viFOmqNicVDQ) * サンプルコード [#sourcecode] #code(link){{ 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()); } }); }} * 解説 [#explanation] - `FileDialog(Frame)` -- [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/FileDialog.html#FileDialog-java.awt.Frame-java.lang.String- new FileDialog(Frame frame, String title)]で`FileDialog`を作成 -- `FileDialog#setVisible(true)`で`FileDialog`を開く前の場合、`FileDialog#setTitle(...)`でタイトルを変更可能 -- `FileDialog`に`WindowListener`を追加して`windowOpened`後に`FileDialog#setTitle(...)`でタイトル変更は不可 -- `FileDialog#setLocation(...)`などで表示位置の変更は不可 --- 値は変更されるが、実際の表示位置には反映されない -- `FileDialog`に`WindowListener`は有効だが、`WindowStateListener`は無効? --- 値は変更されるが実際の表示位置には反映されない -- `FileDialog`に`WindowListener`は有効だが`WindowStateListener`は無効? -- `FileDialog#getFile()`メソッドで選択されたファイルの名前が文字列で取得可能 -- フルパスが必要な場合は`FileDialog#getDirectory()`で親ディレクトリを取得て`new File(String parent, String child)`などで`File`を生成し、`File#getAbsolutePath()`メソッドを使用する -- フルパスが必要な場合は`FileDialog#getDirectory()`で親ディレクトリを取得て`new File(String parent, String child)`などで`File`を生成し`File#getAbsolutePath()`メソッドを使用する - `FileDialog(Dialog)` -- [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/FileDialog.html#FileDialog-java.awt.Frame-java.lang.String- new FileDialog(Dialog dialog, String title)]で`FileDialog`を作成 -- `new FileDialog(Frame)`で作成した場合との違いは不明 * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/FileDialog.html FileDialog (Java Platform SE 8)] - [https://stackoverflow.com/questions/2467180/how-do-i-center-a-java-awt-filedialog-on-the-screen How do I center a java.awt.FileDialog on the screen - Stack Overflow] * コメント [#comment] #comment #comment