package System.Windows.Forms;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import System.String;
public class FileDialog extends CommonDialog {
protected JFileChooser fileChoose;
public FileDialog()
{
fileChoose = new JFileChooser();
}
public void set_Title(String s)
{
fileChoose.setDialogTitle(s.value);
}
class WinFileFilter extends FileFilter
{
java.lang.String myFilter;
java.lang.String myDescription;
public WinFileFilter(java.lang.String description, java.lang.String filter)
{
myFilter = filter;
myDescription = description;
}
private java.lang.String replaceWildcards(java.lang.String wild)
{
StringBuffer buffer = new StringBuffer();
char [] chars = wild.toCharArray();
for (int i = 0; i < chars.length; ++i)
{
if (chars[i] == '*')
buffer.append(".*");
else if (chars[i] == '?')
buffer.append(".");
else if ("+()^$.{}[]|\\".indexOf(chars[i]) != -1)
buffer.append('\\').append(chars[i]);
else
buffer.append(chars[i]);
}
return buffer.toString();
}
@Override
public boolean accept(File f) {
return f.getName().matches(replaceWildcards(myFilter));
}
@Override
public java.lang.String getDescription() {
return myDescription;
}
}
public void set_Filter(String s)
{
java.lang.String splits[] = s.value.split("\\|");
fileChoose.setAcceptAllFileFilterUsed(false);
for(int x=splits.length-1;x>=0;x-=2)
{
fileChoose.addChoosableFileFilter(new WinFileFilter(splits[x-1],splits[x]));
}
}
String defaultExt;
public void set_DefaultExt(String s)
{
defaultExt = s;
}
public String get_DefaultExt()
{
return defaultExt;
}
public String get_FileName()
{
return new String(fileChoose.getSelectedFile().getAbsolutePath());
}
}