用于文件选择的Clojure对话框,带有文件扩展名的过滤器

log*_*olf 6 java swing jfilechooser clojure

这是对Clojure和Java的初学者的持续爬行.我有这个代码来选择一个文件,但我想过滤我正在寻找的文件扩展名.

(import javax.swing.JFileChooser)
(defn tlt-get-file [ ]
       (let [ filechooser (JFileChooser. "C:/") 
              retval (.showOpenDialog filechooser nil) ]
          (if (= retval JFileChooser/APPROVE_OPTION)
             (do 
                (println (.getSelectedFile filechooser))
                (.getSelectedFile filechooser))
              "")))
Run Code Online (Sandbox Code Playgroud)

你的帮助总是非常感谢.

BLU*_*IXY 6

(import '(javax.swing JFileChooser)
        '(javax.swing.filechooser FileNameExtensionFilter))
(defn tlt-get-file [ ]
       (let [ extFilter (FileNameExtensionFilter. "Text File" (into-array  ["txt"]))
              filechooser (JFileChooser. "C:/")
              dummy (.setFileFilter filechooser extFilter)
              retval (.showOpenDialog filechooser nil) ]
          (if (= retval JFileChooser/APPROVE_OPTION)
             (do 
                (println (.getSelectedFile filechooser))
                (.getSelectedFile filechooser))
              "")))
Run Code Online (Sandbox Code Playgroud)