OSDN Git Service

設定のsave, load処理
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / FileChooseActionListener.java
1 package yukihane.inqubus.gui;
2
3 import java.awt.Component;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6 import java.io.File;
7 import javax.swing.JFileChooser;
8 import javax.swing.JTextField;
9
10 /**
11  *
12  * @author yuki
13  */
14 public class FileChooseActionListener implements ActionListener {
15
16     private final Component parent;
17     private final int fileSelectionMode;
18     private final JTextField textField;
19
20     public FileChooseActionListener(Component parent, int fileSelectionMode, JTextField field) {
21         this.parent = parent;
22         this.fileSelectionMode = fileSelectionMode;
23         this.textField = field;
24     }
25
26     @Override
27     public void actionPerformed(ActionEvent e) {
28
29         final JFileChooser fc = new JFileChooser();
30         fc.setFileSelectionMode(fileSelectionMode);
31         fc.setCurrentDirectory(new File(textField.getText()));
32         final int res = fc.showOpenDialog(parent);
33         if (res == JFileChooser.APPROVE_OPTION) {
34             textField.setText(fc.getSelectedFile().getPath());
35         }
36     }
37 }