1

我正在制作一个简单的 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/inputs 创建一个带有一个字段的简单输入框,但是我想要一个带有三个字段的输入框。有没有解决的办法?(是的,我尝试了 3 个输入框,但它们一次弹出一个,而且非常不直观)

4

0 回答 0