ClojureからJava 2Dを利用するようにしたいが良く分からなかった。 探してみるとCX's Hello, World!のHello, Java 2D(Clojure) World!に 例が掲載されていた。 ただ、そのままではOpenJDK 17.0.4で動かしたClojure 1.11.1では動かなかった。 その部分を動くようにして、フォントの設定をしたかったのでそれを追加してみた。
; From http://cx20.main.jp/blog/hello/2012/12/05/hello-java2d-clojure-world/
; Modified for Clojure 1.11.1 by Ryo ONODERA <ryo@tetera.org>
; Run: clj -M java2d.clj
(import
(javax.swing JFrame)
(javax.swing JPanel)
(java.awt Graphics)
(java.awt Graphics2D)
(java.awt Font)
)
(defn create-panel []
(proxy [JPanel] []
(paintComponent [g]
(.setFont ^Graphics2D g (Font. "Droid Sans" Font/PLAIN 72))
(.drawString ^Graphics2D g "Hello, Java 2D World!" 0 100)
)))
(def panel
(create-panel))
(def frame
(JFrame.))
(doto frame
(.setDefaultCloseOperation
javax.swing.WindowConstants/EXIT_ON_CLOSE)
(.add panel)
(.setSize 640 480)
(.setTitle "Hello, World")
(.setLocation 100 100)
(.setVisible true))
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。