(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)
代码段,但这对我来说是端到端的。