(button)
은 기능이 아닌 버튼 (구성 요소)을 반환합니다. 나중에 (b :group groups)
으로 사용하면 실제로는 을 함수처럼 호출하고 두 개의 인수 (: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!))
당신은 아마 여기 (invoke-later)
조각 대신 (display)
기능을 사용할 수 있습니다, 그러나 이것은 나를 위해 엔드 - 투 - 엔드 작동합니다.
정확히 어떤 문제가 있습니까? –
동일한 프레임에 버튼 b와 c를 표시하고 싶습니다. 코드에서 다음 오류가 발생합니다. java.lang.ClassCastException : seesaw.core.proxy $ javax.swing.JButton $ Tag $ fd407141을 캐스팅 할 수 없습니다. clojure.lang.IFn – mwaks