;file useswing.clj ;コンパイルできる ;Javaコマンドで実行できる (ns useswing (:gen-class)) (import '(javax.swing JFrame JButton JScrollPane JTextArea) '(java.awt BorderLayout Dimension) '(java.awt.event ActionListener)) (defn foo [] (let [frame (JFrame. "Foo") text-area (JScrollPane. (JTextArea. "-")) close-button (JButton. "Close")] (doto text-area (.setPreferredSize (Dimension. 640 480))) (doto close-button (.addActionListener (proxy [ActionListener] [] (actionPerformed [evt] (.setVisible frame false) (System/exit 0))))) (let [c (.getContentPane frame)] (doto c (.add text-area BorderLayout/CENTER) (.add close-button BorderLayout/NORTH))) (doto frame (.setDefaultCloseOperation JFrame/EXIT_ON_CLOSE) (.setPreferredSize (Dimension. 1024 768)) (.pack) (.setVisible true) ))) (defn -main [& args] (foo))