使用跷跷板添加按钮组



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

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

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

相关内容

  • 没有找到相关文章

最新更新