具有跷跷板的列表框的值

时间:2014-02-18 17:01:59

标签: clojure seesaw

有什么方法可以将跷跷板中的Listbox的值作为集合获得,Clojure可以处理?

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

/ edit:澄清:例如,我想获得一个列表框的所有元素,并conj一个新的元素。但由于列表框的返回值是JList,Clojure自然不能这样做。

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

1 个答案:

答案 0 :(得分:4)

See this。您可以使用getModel方法获取ListModel。然后使用getElementAtgetSize方法构建数组或列表或任何您想要的内容。

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