2

有什么办法可以将跷跷板中的列表框的值作为一个集合来获取,Clojure 可以处理吗?

我得到的最多的是一个 JList,Clojure 无法处理。

/编辑:澄清:例如,我想获取列表框的所有元素和conj一个新元素。但是因为listbox的返回值是一个JList,Clojure自然是做不到的。

我似乎找不到任何方法从列表框中提取所有元素。

4

1 回答 1

4

看到这个。您可以使用getModel方法获取ListModel。然后使用getElementAtandgetSize方法来构建数组或列表或任何你想要的。

(def data (into-array String ["one" "two" "three" "four"]))
(def myList (JList. data))
(->> myList 
    .getModel 
    ((juxt identity (memfn getSize))) 
    ((fn [[a b]] (map #(.getElementAt a %) (range b)))) 
    (apply vector) (#(conj % "five")))
于 2014-02-18T20:04:59.943 回答