27 lines
697 B
JavaScript
27 lines
697 B
JavaScript
|
|
var Proxy = java.lang.reflect.Proxy;
|
|
var Toolkit = java.awt.Toolkit;
|
|
var FileFilter = javax.swing.filechooser.FileFilter;
|
|
var JFileChooser = javax.swing.JFileChooser;
|
|
|
|
exports.showDialog = (filter, filterName) => {
|
|
var fileFilter = new FileFilter({
|
|
"getDescription": () => {
|
|
return filterName || 'Default Filter';
|
|
},
|
|
"accept": (f) => {
|
|
return filter(f);
|
|
}
|
|
});
|
|
var chooser = new JFileChooser();
|
|
if (filter != null) {
|
|
chooser.setFileFilter(fileFilter);
|
|
}
|
|
var ret = chooser.showOpenDialog(null);
|
|
|
|
if (ret == JFileChooser.APPROVE_OPTION) {
|
|
return chooser.getSelectedFile();
|
|
}
|
|
return null;
|
|
};
|