Archive for 12月 1st, 2012

  1. Hello, AWT(Clojure) World!

    Posted on 12月 1st, 2012 by cx20

    AWT(Clojure)

    AWT(Abstract Window Toolkit) は Java で GUI を扱うためのライブラリである。
    J2SE 1.2 以降は AWT を拡張した Swing が使われることが多くなっている。
    以下は Clojure による AWT の使用例となっている。

    ソースコード

    (import (java.awt Frame)
            (java.awt Label)
            (java.awt FlowLayout)
            (java.awt.event WindowAdapter))
     
    (def frame
      (Frame.))
     
    (def layout
      (FlowLayout. FlowLayout/LEFT))
     
    (def label
      (Label. "Hello, Swing World!"))
     
    (doto frame
      (.addWindowListener 
        (proxy [WindowAdapter] [] 
          (windowClosing [e] 
            (System/exit 0))))
      (.setLayout layout)
      (.add label)
      (.setSize 640 480)
      (.setTitle "Hello, World")
      (.setResizable false)
      (.setVisible true))

    実行方法

    C:¥> clj Hello.clj

    実行結果

    +------------------------------------------+
    |Hello, World!                    [_][~][X]|
    +------------------------------------------+
    |Hello, AWT World!                         |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    +------------------------------------------+