0

我第一次使用跷跷板创建一个 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) 
4

1 回答 1

3

(button)返回一个不是函数的按钮(一个组件)。如果您稍后将它用作(b :group groups),它实际上会尝试像调用b函数一样调用它,并传递两个参数::groupgroups. 这就是它失败的原因,因为它无法使按钮起作用。

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

于 2014-07-09T05:12:01.983 回答