我正在制作一个简单的 GUI 界面,用户可以在其中添加/删除一个人。我设置了我的 GUI,其中有一个People
包含三个字段的表:Name
、Age
和Likes
.
我有一个按钮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
s 创建一个带有一个字段的简单输入框,但是我想要一个带有三个字段的输入框。有没有解决的办法?(是的,我尝试了 3 个输入框,但它们一次弹出一个,而且非常不直观)