我正在通过" Clojure的喜悦"并得到一个关于在窗口中显示一些图形的部分。我与REPL的互动如下。根据这本书,这应该会出现一个小窗口。窗口不会出现。
我正在运行Mac OS X Mavericks。
nREPL server started on port 54014 on host 127.0.0.1 - nrepl://127.0.0.1:54014
REPL-y 0.3.1
Clojure 1.6.0
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
user=> (def frame (java.awt.Frame.))
#'user/frame
user=> (.setVisible frame true)
nil
user=> (.setSize frame (java.awt.Dimension. 200 200))
nil
user=> frame
#<Frame java.awt.Frame[frame0,0,22,200x200,layout=java.awt.BorderLayout,title=,resizable,normal]>
user=>
答案 0 :(得分:1)
框架确实启动了,但它可能不是很明显,因为当您执行指定的表单时,它将是一个小的空框架。
你应该增加框架的大小,然后绘制一些显眼的东西,例如:
(def frame (java.awt.Frame.))
(.setVisible frame true)
(.setSize frame (java.awt.Dimension. 400 400))
(def gfx (.getGraphics frame))
(.setColor gfx (java.awt.Color/GREEN))
(.fillOval gfx 100 100 200 300)
(.toFront frame)