Clojure 使用跷跷板添加按钮组
我第一次使用跷跷板创建GUI,我一直在研究如何将按钮添加到按钮组并在同一帧上显示它们(按钮)。这就是我目前所拥有的Clojure 使用跷跷板添加按钮组,clojure,seesaw,Clojure,Seesaw,我第一次使用跷跷板创建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)
(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)
(按钮)
返回一个不是函数的按钮(组件)。如果以后将其用作(b:groupgroups)
,它实际上会尝试调用b
,就像调用函数一样,将两个参数传递给它::group
和groups
。这就是它失败的原因,因为它无法将按钮转换为功能
其次,我相信(按钮)
会创建一个常规的JButton
,对于这个组来说没有什么意义。你是说单选按钮,比如(单选)
这两个人中的一个应该做你期望的事情
单选按钮:
(def组(按钮组))
(def b(收音机:文本“启动新项目”:分组))
(def c(收音机:文本“继续现有项目”:分组))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
常规按钮:
(def b(按钮:文本“启动新项目”))
(def c(按钮:文本“继续现有项目”))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
您可能可以使用(display)
函数代替此处的(稍后调用)
代码段,但这对我来说是端到端工作。(按钮)
返回一个按钮(组件),该按钮不是函数。如果以后将其用作(b:groupgroups)
,它实际上会尝试调用b
,就像调用函数一样,将两个参数传递给它::group
和groups
。这就是它失败的原因,因为它无法将按钮转换为功能
其次,我相信(按钮)
会创建一个常规的JButton
,对于这个组来说没有什么意义。你是说单选按钮,比如(单选)
这两个人中的一个应该做你期望的事情
单选按钮:
(def组(按钮组))
(def b(收音机:文本“启动新项目”:分组))
(def c(收音机:文本“继续现有项目”:分组))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
常规按钮:
(def b(按钮:文本“启动新项目”))
(def c(按钮:文本“继续现有项目”))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
您可能可以使用(display)
函数代替此处的(稍后调用)
代码段,但这对我来说是端到端工作。(按钮)
返回一个按钮(组件),该按钮不是函数。如果以后将其用作(b:groupgroups)
,它实际上会尝试调用b
,就像调用函数一样,将两个参数传递给它::group
和groups
。这就是它失败的原因,因为它无法将按钮转换为功能
其次,我相信(按钮)
会创建一个常规的JButton
,对于这个组来说没有什么意义。你是说单选按钮,比如(单选)
这两个人中的一个应该做你期望的事情
单选按钮:
(def组(按钮组))
(def b(收音机:文本“启动新项目”:分组))
(def c(收音机:文本“继续现有项目”:分组))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
常规按钮:
(def b(按钮:文本“启动新项目”))
(def c(按钮:文本“继续现有项目”))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
您可能可以使用(display)
函数代替此处的(稍后调用)
代码段,但这对我来说是端到端工作。(按钮)
返回一个按钮(组件),该按钮不是函数。如果以后将其用作(b:groupgroups)
,它实际上会尝试调用b
,就像调用函数一样,将两个参数传递给它::group
和groups
。这就是它失败的原因,因为它无法将按钮转换为功能
其次,我相信(按钮)
会创建一个常规的JButton
,对于这个组来说没有什么意义。你是说单选按钮,比如(单选)
这两个人中的一个应该做你期望的事情
单选按钮:
(def组(按钮组))
(def b(收音机:文本“启动新项目”:分组))
(def c(收音机:文本“继续现有项目”:分组))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
常规按钮:
(def b(按钮:文本“启动新项目”))
(def c(按钮:文本“继续现有项目”))
(def面板
(流程面板:项目[b和c]))
(稍后调用)
(>(框架:内容面板:关闭:处置)打包!显示!))
您可能可以使用
(display)
函数代替此处的(稍后调用)
代码段,但这对我来说是端到端工作的。您到底遇到了什么问题?我希望在同一帧上显示按钮b和c。使用我的代码,我得到以下错误:;java.lang.ClassCastException:seesaw.core.proxy$javax.swing.JButton$Tag$fd407141无法转换为clojure.lang.ifn您到底遇到了什么问题?我想在同一帧上显示按钮b和c。根据我的代码,我得到以下错误:;java.lang.ClassCastException:seesaw.core.proxy$javax.swing.JButton$Tag$fd407141无法转换为clojure.lang.ifn您到底遇到了什么问题?我想显示按钮b和