本文介绍了在 Clojure 中执行 GUI 的最佳方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 Clojure 中制作 GUI 的最佳方法是什么?
What is the best way to do GUIs in Clojure?
是否有一些功能性 Swing 或 SWT 包装器?或者与 JavaFX 声明式 GUI 描述的一些集成,可以很容易地包装到 s-expressions 使用一些宏观?
Is there an example of some functional Swing or SWT wrapper?Or some integration with JavaFX declarative GUI description which could be easily wrapped to s-expressions using some macrology?
有教程吗?
推荐答案
我会虚心推荐 Seesaw.
这是一个基于 REPL 的教程,假设您没有 Java 或 Swing 知识.
Here's a REPL-based tutorial that assumes no Java or Swing knowledge.
跷跷板很像@tomjen 的建议.这是你好,世界":
Seesaw's a lot like what @tomjen suggests. Here's "Hello, World":
(use 'seesaw.core)
(-> (frame :title "Hello"
:content "Hello, Seesaw"
:on-close :exit)
pack!
show!)
这里是@Abhijith 和@dsm 的例子,按字面翻译:
and here's @Abhijith and @dsm's example, translated pretty literally:
(ns seesaw-test.core
(:use seesaw.core))
(defn handler
[event]
(alert event
(str "<html>Hello from <b>Clojure</b>. Button "
(.getActionCommand event) " clicked.")))
(-> (frame :title "Hello Swing" :on-close :exit
:content (button :text "Click Me" :listen [:action handler]))
pack!
show!)
这篇关于在 Clojure 中执行 GUI 的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!