With Lombok
01 import lombok.DoPrivileged;
02
03 import java.io.File;
04
05 import javax.swing.JFileChooser;
06 import javax.swing.JFrame;
07 import javax.swing.filechooser.FileNameExtensionFilter;
08
09 public class DoPrivilegedExample extends JFrame {
10
11 @DoPrivileged
12 public File getFileUsingFileChooser() {
13 final JFileChooser fileChooser = new JFileChooser();
14 fileChooser.setFileFilter(new FileNameExtensionFilter("HTML Documents", "html"));
15 fileChooser.setAcceptAllFileFilterUsed(false);
16 if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
17 return fileChooser.getSelectedFile();
18 }
19 return null;
20 }
21 }
Vanilla Java
01 import java.io.File;
02
03 import javax.swing.JFileChooser;
04 import javax.swing.JFrame;
05 import javax.swing.filechooser.FileNameExtensionFilter;
06
07 public class DoPrivilegedExample extends JFrame {
08
09 public File getFileUsingFileChooser() {
10 return AccessController.doPrivileged(new PrivilegedAction<File>() {
11 public File run() {
12 final JFileChooser fileChooser = new JFileChooser();
13 fileChooser.setFileFilter(new FileNameExtensionFilter("HTML Documents", "html"));
14 fileChooser.setAcceptAllFileFilterUsed(false);
15 if (fileChooser.showSaveDialog(DoPrivilegedExample.this) == JFileChooser.APPROVE_OPTION) {
16 return fileChooser.getSelectedFile();
17 }
18 return null;
19 }
20 });
21 }
22 }