93 accessor.setFiles(fd, files); 94 } 95 } 96 97 /** 98 * Called exclusively by the native C code. 99 */ 100 private boolean filenameFilterCallback(String fullname) { 101 if (fd.getFilenameFilter() == null) { 102 // no filter, accept all. 103 return true; 104 } 105 106 File filen = new File(fullname); 107 return fd.getFilenameFilter().accept(new File(filen.getParent()), 108 filen.getName()); 109 } 110 111 @Override 112 public void setVisible(boolean b) { 113 XToolkit.awtLock(); 114 try { 115 quit = !b; 116 if (b) { 117 Runnable task = () -> { 118 showNativeDialog(); 119 standaloneWindow = 0; 120 fd.setVisible(false); 121 }; 122 new Thread(null, task, "ShowDialog", 0, false).start(); 123 } else { 124 quit(); 125 fd.setVisible(false); 126 } 127 } finally { 128 XToolkit.awtUnlock(); 129 } 130 } 131 132 @Override | 93 accessor.setFiles(fd, files); 94 } 95 } 96 97 /** 98 * Called exclusively by the native C code. 99 */ 100 private boolean filenameFilterCallback(String fullname) { 101 if (fd.getFilenameFilter() == null) { 102 // no filter, accept all. 103 return true; 104 } 105 106 File filen = new File(fullname); 107 return fd.getFilenameFilter().accept(new File(filen.getParent()), 108 filen.getName()); 109 } 110 111 @Override 112 public void setVisible(boolean b) { 113 if (isDisposed()) { 114 return; 115 } 116 XToolkit.awtLock(); 117 try { 118 quit = !b; 119 if (b) { 120 Runnable task = () -> { 121 showNativeDialog(); 122 standaloneWindow = 0; 123 fd.setVisible(false); 124 }; 125 new Thread(null, task, "ShowDialog", 0, false).start(); 126 } else { 127 quit(); 128 fd.setVisible(false); 129 } 130 } finally { 131 XToolkit.awtUnlock(); 132 } 133 } 134 135 @Override |