单击按钮时弹出对话框(跷跷板)

时间:2014-11-15 20:12:46

标签: user-interface clojure dialog alert seesaw

我制作一个简单的GUI界面,用户可以在其中添加/删除一个人。我设置了GUI,其中有一个People表,其中包含三个字段:NameAgeLikes

我有一个名为Add Person的按钮,我希望弹出一个对话框。但是,我收到错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: No im plementation of method: :visible! of protocol: #'seesaw.core/Showable found for class: guidemo.core$add_person

我不知道在哪里使用visible!选项。 我的对话框中有以下代码:

(defn add-person [person] 
;(seesaw/frame :title "Add New Person" :on-close :exit :content 
  (seesaw/dialog :content 
    (seesaw/flow-panel :items
              ["Name:"  (seesaw/text :id :title)
               ;"Age:" (seesaw/text :id :age)
               ;"Likes:" (seesaw/text :id :likes)
               ])
    :option-type :ok-cancel)
    :success-fn (fn [p] (seesaw/text (seesaw/select (seesaw/to-root p) [:#name ] ))) 
    (seesaw/show! add-person))

我从跷跷板api那里得到了这个例子来开始自己的事情。我注释掉了框架,因为不允许在另一个容器的顶部添加容器,我现在注释掉了其他字段。我知道'success-fn`不会向表中添加任何内容,但我更关心的是在单击按钮时显示弹出窗口。

我的按钮代码是:

(def add-button
  (seesaw/button
    :text "Add New Person"
    :listen [:mouse-pressed add-person]
    :popup add-person))

我可以使用seesaw/input来创建一个包含一个字段的简单输入框,但是我希望有一个包含三个字段的输入框。有没有解决的办法? (是的,我尝试了3个输入框,但它们一次弹出一个,非常不直观)

0 个答案:

没有答案