(defmacro jlist [& {action :action on-selection-change :on-selection-change items :items scrolling :scrolling :as opts}]
(let [l (gensym "jlist")]
`(let [~l (doto (JList.)
~@(if action
[`(add-action-listener ~action)])
~@(if on-selection-change
[`(add-list-selection-listener ~on-selection-change)])
~@(auto-setters JList *list-known-keys* opts)
~@(map #(list '.addItem %) items))]
~@(if scrolling
`[(scroll-panel ~l)]
`[~l]))))
Comments top
No comments for jlist. Log in to add a comment.