这是对 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))
              "")))

您的帮助总是非常感谢。

最佳答案

(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))
              "")))

关于java - 用于文件选择的 Clojure 对话框和文件扩展名过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8172909/

10-13 05:29