1. File Open Dialog
FileDialog.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public static String open(Stage stage, String lastOpenedDirName ) { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open file"); if( lastOpenedDirName != null ) { File f = new File(lastOpenedDirName); if( f.exists() ) { fileChooser.setInitialDirectory(new File(lastOpenedDirName)); } } File file = fileChooser.showOpenDialog(stage); if( file != null ) { return file.getPath(); } return null; } |
Controller.java
1 2 3 4 5 6 7 | @FXML private void handleFileOpen(ActionEvent event) { String filename = FileDialog.open(stage,null); if( filename != null ) { MessageBox.alert(stage, "FileName", filename ); } } |
Result:
2. File Save Dialog
FileDialog.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public static String save(Stage stage, String lastSavedFileName ) { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Save file"); if( lastSavedFileName != null ) { File f = new File(lastSavedFileName); if( f.exists() ) { if( f.isDirectory() ) { fileChooser.setInitialDirectory(new File(f.getParent())); } } fileChooser.setInitialFileName(lastSavedFileName); } File file = fileChooser.showOpenDialog(stage); if( file != null ) { return file.getPath(); } return null; } |
Controller.java
1 2 3 4 5 6 7 | @FXML private void handleFileSave(ActionEvent event) { String filename = FileDialog.save(stage,"savefile.txt"); if( filename != null ) { MessageBox.alert(stage, "FileName", filename ); } } |
3. Directory Open Dialog
FileDialog.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public static String openDir(Stage stage, String lastOpenedDirName ) { DirectoryChooser directoryChooser = new DirectoryChooser(); directoryChooser.setTitle("Open Folder"); if( lastOpenedDirName != null ) { File f = new File(lastOpenedDirName); if( f.exists() ) { directoryChooser.setInitialDirectory(new File(lastOpenedDirName)); } } File file = directoryChooser.showDialog(stage); if( file != null ) { return file.getPath(); } return null; } |
Controller.java
1 2 3 4 5 6 7 | @FXML private void handleDirectoryOpen(ActionEvent event) { String dirname = FileDialog.openDir(stage,null); if( dirname != null ) { MessageBox.alert(stage, "FileName", dirname ); } } |
Result:
4. Multiple File Open Dialog
FileDialog.java
1 2 3 4 5 6 7 8 9 10 11 | public static List<File> openFiles(Stage stage, String lastOpenedDirName ) { FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open files"); if( lastOpenedDirName != null ) { File f = new File(lastOpenedDirName); if( f.exists() ) { fileChooser.setInitialDirectory(new File(lastOpenedDirName)); } } return fileChooser.showOpenMultipleDialog(stage); } |
Controller.java
1 2 3 4 5 6 7 8 9 10 11 12 | @FXML private void handleMultipleFileOpen(ActionEvent event) { List<File> files = FileDialog.openFiles(stage, null); if( files != null ) { StringBuilder sb = new StringBuilder(); for( File f : files ) { sb.append(f.getPath()); sb.append("\n"); } MessageBox.alert(stage, "FileNames", sb.toString() ); } } |
Result:
댓글 없음:
댓글 쓰기