【问题标题】:Values of Listbox with Seesaw跷跷板列表框的值
【发布时间】:2014-03-18 14:26:14
【问题描述】:

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

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

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

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

【问题讨论】:

  • “无法处理”是什么意思?应该没有您无法使用正确的互操作方法访问的功能(即(.getModel jl)
  • 为了清楚起见,我添加了一个示例。
  • JList 文档提到不应该修改列表 - 你会想要清空它并重新创建列表,即使在 Java 中也是如此

标签: clojure seesaw


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多