/**
* FileChooserPanel.java
* Created On 2007, Sep 4, 2007 3:48:40 PM
* @author E. Rajasekar
*/
package app.astrosoft.ui.comp;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import app.astrosoft.pref.AstrosoftPref;
import app.astrosoft.ui.AstroSoft;
import app.astrosoft.ui.util.SpringUtilities;
import app.astrosoft.ui.util.UIConsts;
import app.astrosoft.util.AstrosoftFileFilter;
import app.astrosoft.util.FileOps;
public class FileChooserPanel extends JPanel {
private static final long serialVersionUID = 1L;
private JTextField filePath = new JTextField();
private JButton browse = new JButton("Browse");
private String defaultPath;
private String title;
private FileOps.FileDialogMode mode;
private AstrosoftFileFilter fileFilter;
public FileChooserPanel(Dimension size, String defaultPath, String title, FileOps.FileDialogMode mode, AstrosoftFileFilter fileFilter){
this.defaultPath = defaultPath;
this.title = title;
this.mode = mode;
this.fileFilter = fileFilter;
setLayout(new SpringLayout());
setPreferredSize(size);
addComponents();
}
public FileChooserPanel(Dimension size, String defaultPath, String title, FileOps.FileDialogMode mode){
this(size,defaultPath,title,mode, AstrosoftFileFilter.ALL_FILES);
}
private void addComponents() {
if (defaultPath != null) {
filePath.setText(defaultPath);
}
add(filePath);
add(browse);
SpringUtilities.makeCompactGrid(this, 1, 2, 5,5,5,5);
browse.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String selectedFile = FileOps.openFileDialog(FileChooserPanel.this, mode, fileFilter);
if (selectedFile != null) {
filePath.setText(selectedFile);
}
}
});
setBorder(UIConsts.getTitleBorder(title));
}
public String getFilePath() {
return filePath.getText();
}
public void setFilePath(String path){
filePath.setText(path);
}
}