我是第一次使用跷跷板创建一个GUI,我仍然坚持如何将按钮添加到按钮组并在同一帧上显示它们(按钮)。这是我到目前为止所做的。
(def b (button :text "Start a new Project"))
(def c (button :text "Continue an Existing Project"))
(def groups (button-group))
(flow-panel :items [(b :group groups)
(c :group groups)])
(display groups)
答案 0 :(得分:3)
(button)
返回一个不是函数的按钮(组件)。如果您以后将其用作(b :group groups)
,它实际上会尝试调用b
,就像它是一个函数一样,向它传递两个参数::group
和groups
。这就是它失败的原因,因为它无法使按钮运行。
其次,我相信(button)
会创建一个常规的JButton
,但这个群体没有意义。你的意思是单选按钮,比如(radio)
?
这两个中的一个可能应该按照你的期望做。
单选按钮:
(def groups (button-group))
(def b (radio :text "Start a new Project" :group groups))
(def c (radio :text "Continue an Existing Project" :group groups))
(def panel
(flow-panel :items [b c]))
(invoke-later
(-> (frame :content panel :on-close :dispose) pack! show!))
常规按钮:
(def b (button :text "Start a new Project"))
(def c (button :text "Continue an Existing Project"))
(def panel
(flow-panel :items [b c]))
(invoke-later
(-> (frame :content panel :on-close :dispose) pack! show!))
您可以在此处使用(display)
功能代替此(invoke-later)
代码段,但这对我来说是端到端的。