有什么方法可以将跷跷板中的Listbox的值作为集合获得,Clojure可以处理?
我得到的最多的是JList,Clojure无法处理。
/ edit:澄清:例如,我想获得一个列表框的所有元素,并conj
一个新的元素。但由于列表框的返回值是JList,Clojure自然不能这样做。
我似乎无法找到从列表框中提取所有元素的任何方法。
答案 0 :(得分:4)
See this。您可以使用getModel方法获取ListModel。然后使用getElementAt
和getSize
方法构建数组或列表或任何您想要的内容。
(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")))