Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,24 @@
|
|||
(ns counter-window
|
||||
(:import (javax.swing JFrame JLabel JButton)))
|
||||
|
||||
(defmacro on-action [component event & body]
|
||||
`(. ~component addActionListener
|
||||
(proxy [java.awt.event.ActionListener] []
|
||||
(actionPerformed [~event] ~@body))))
|
||||
|
||||
(defn counter-app []
|
||||
(let [counter (atom 0)
|
||||
label (JLabel. "There have been no clicks yet")
|
||||
button (doto (JButton. "Click me!")
|
||||
(on-action evnt
|
||||
(.setText label
|
||||
(str "Counter: " (swap! counter inc)))))
|
||||
panel (doto (JPanel.)
|
||||
(.setOpaque true)
|
||||
(.add label)
|
||||
(.add button))]
|
||||
(doto (JFrame. "Counter App")
|
||||
(.setContentPane panel)
|
||||
(.setSize 300 100)
|
||||
(.setDefaultCloseOperation JFrame/EXIT_ON_CLOSE)
|
||||
(.setVisible true))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue