我还有另一个 clojure 问题。
所以我目前正在开发一个项目并尝试为其编写一个 GUI 组件。我的所有功能部件都在工作,所以现在我只想让它看起来也很好,并了解更多关于跷跷板的工作原理。
基本上,我有一堆输入字段(即文本字段、滑块、组合框),用户可以使用它们来输入某些类型的数据。当用户单击“确认”按钮时,我希望按钮的操作返回上述输入字段的所有值。我对线程没有太多经验,但我知道(显然)可能存在一些并发问题。我怎样才能做到这一点?
作为参考,这是我的代码的一个小示例:
;
;in restaurant-gui.core
;
(defn window-setup []
(let [my-font (font :name "Arial"
:size 22)
cuisine-label (label :text "Cuisine: "
:font my-font
:border [20 10])
cuisine (combobox :model["Any cuisine"
"American"
"Barbecue"
"Chinese"
"French"
"Italian"])
confirm-button (button :text "Confirm"
:listen [:action (fn [event] event
(selection cuisine))])
window-contents (vertical-panel :items [cuisine-label cuisine
confirm-button])]
window-contents))
;
;in restaurant-inference-engine.core
;
(defn -main
[&args]
(binding [window-contents (window-setup)]
(draw-window window-contents) ;somehow listen here for
;information from the button
;and bind it to button-info?...
(search-for-restaurant button-info)))
另外,如果有人知道任何简单到中间的clojure代码,我可以看看,我将不胜感激。我想更多地接触编写良好的 clojure 代码,以提高我对语言的理解。