Emacs Clojure:JavaGUI问题

Emacs Clojure:JavaGUI问题,emacs,clojure,slime,Emacs,Clojure,Slime,我这里有一段代码 (ns experiments (:import (javax.swing JFrame JLabel))) (defn create-frame [title text] (doto (JFrame. title) (.add (JLabel. text)) (.pack) (.setDefaultCloseOperation JFrame/EXIT_ON_CLOSE) (.setVisible true))) 现在我运行一个REP

我这里有一段代码

(ns experiments
  (:import (javax.swing JFrame JLabel)))

(defn create-frame [title text]
  (doto (JFrame. title)
    (.add (JLabel. text))
    (.pack)
    (.setDefaultCloseOperation JFrame/EXIT_ON_CLOSE)
    (.setVisible true)))
现在我运行一个REPL(Clojure-Box,基本上是emacs+slime),从正确的类路径开始,依次调用(使用“实验”——这很有效——然后调用

(创建框架“Foo”“Bar”)


然后。。。没有什么。REPL永远挂起,没有帧出现,什么都没有。

您的代码在我使用Sun的JDK 1.6.026和Ubuntu 11.04上的Clojure 1.2.1时对我有效。。。然而,窗框非常小,因为它是围绕一个小“酒吧”标签包装。你确定你没有错过它,而窗口实际上就在你桌面上的某个地方吗


另外,正如我所记得的(这里我可能错了),但我认为ubuntu默认的IcedTea JRE存在Swing问题-如果您正在使用它,请尝试合适的Sun/Oracle JRE。

首先,您应该从事件调度线程与Swing对话。查看一下
clojure.contrib.swing utils/do swing

我刚刚注意到我输入错误:import as import。我的副本里就有。