src/windows/classes/sun/awt/windows/WFileDialogPeer.java

Print this page




 150             int index = wFiles[0].lastIndexOf(java.io.File.separatorChar);
 151             if (index == -1) {
 152                 jDirectory = "."+java.io.File.separator;
 153                 jFile = wFiles[0];
 154             } else {
 155                 jDirectory = wFiles[0].substring(0, index + 1);
 156                 jFile = wFiles[0].substring(index + 1);
 157             }
 158             jFiles = new String[] { jFile };
 159         }
 160 
 161         final FileDialog fileDialog = (FileDialog)target;
 162         AWTAccessor.FileDialogAccessor fileDialogAccessor = AWTAccessor.getFileDialogAccessor();
 163 
 164         fileDialogAccessor.setDirectory(fileDialog, jDirectory);
 165         fileDialogAccessor.setFile(fileDialog, jFile);
 166         fileDialogAccessor.setFiles(fileDialog, jDirectory, jFiles);
 167 
 168         WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() {
 169              public void run() {
 170                  fileDialog.hide();
 171              }
 172         });
 173     } // handleSelected()
 174 
 175     // NOTE: This method is called by privileged threads.
 176     //       DO NOT INVOKE CLIENT CODE ON THIS THREAD!
 177     void handleCancel() {
 178         final FileDialog fileDialog = (FileDialog)target;
 179 
 180         AWTAccessor.getFileDialogAccessor().setFile(fileDialog, null);
 181         AWTAccessor.getFileDialogAccessor().setFiles(fileDialog, null, null);
 182 
 183         WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() {
 184              public void run() {
 185                  fileDialog.hide();
 186              }
 187         });
 188     } // handleCancel()
 189 
 190     //This whole static block is a part of 4152317 fix
 191     static {
 192         String filterString = (String) AccessController.doPrivileged(
 193             new PrivilegedAction() {
 194                 public Object run() {
 195                     try {
 196                         ResourceBundle rb = ResourceBundle.getBundle("sun.awt.windows.awtLocalization");
 197                         return rb.getString("allFiles");
 198                     } catch (MissingResourceException e) {
 199                         return "All Files";
 200                     }
 201                 }
 202             });
 203         setFilterString(filterString);
 204     }
 205 
 206     void blockWindow(WWindowPeer window) {
 207         blockedWindows.add(window);
 208         // if this dialog hasn't got an HWND, notification is
 209         // postponed until setHWnd() is called
 210         if (hwnd != 0) {
 211             window.modalDisable((Dialog)target, hwnd);
 212         }
 213     }
 214     void unblockWindow(WWindowPeer window) {




 150             int index = wFiles[0].lastIndexOf(java.io.File.separatorChar);
 151             if (index == -1) {
 152                 jDirectory = "."+java.io.File.separator;
 153                 jFile = wFiles[0];
 154             } else {
 155                 jDirectory = wFiles[0].substring(0, index + 1);
 156                 jFile = wFiles[0].substring(index + 1);
 157             }
 158             jFiles = new String[] { jFile };
 159         }
 160 
 161         final FileDialog fileDialog = (FileDialog)target;
 162         AWTAccessor.FileDialogAccessor fileDialogAccessor = AWTAccessor.getFileDialogAccessor();
 163 
 164         fileDialogAccessor.setDirectory(fileDialog, jDirectory);
 165         fileDialogAccessor.setFile(fileDialog, jFile);
 166         fileDialogAccessor.setFiles(fileDialog, jDirectory, jFiles);
 167 
 168         WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() {
 169              public void run() {
 170                  fileDialog.setVisible(false);
 171              }
 172         });
 173     } // handleSelected()
 174 
 175     // NOTE: This method is called by privileged threads.
 176     //       DO NOT INVOKE CLIENT CODE ON THIS THREAD!
 177     void handleCancel() {
 178         final FileDialog fileDialog = (FileDialog)target;
 179 
 180         AWTAccessor.getFileDialogAccessor().setFile(fileDialog, null);
 181         AWTAccessor.getFileDialogAccessor().setFiles(fileDialog, null, null);
 182 
 183         WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() {
 184              public void run() {
 185                  fileDialog.setVisible(false);
 186              }
 187         });
 188     } // handleCancel()
 189 
 190     //This whole static block is a part of 4152317 fix
 191     static {
 192         String filterString = AccessController.doPrivileged(
 193             new PrivilegedAction<String>() {
 194                 public String run() {
 195                     try {
 196                         ResourceBundle rb = ResourceBundle.getBundle("sun.awt.windows.awtLocalization");
 197                         return rb.getString("allFiles");
 198                     } catch (MissingResourceException e) {
 199                         return "All Files";
 200                     }
 201                 }
 202             });
 203         setFilterString(filterString);
 204     }
 205 
 206     void blockWindow(WWindowPeer window) {
 207         blockedWindows.add(window);
 208         // if this dialog hasn't got an HWND, notification is
 209         // postponed until setHWnd() is called
 210         if (hwnd != 0) {
 211             window.modalDisable((Dialog)target, hwnd);
 212         }
 213     }
 214     void unblockWindow(WWindowPeer window) {