2010-04-26 2 views
0

동일한 그룹의 라디오 버튼 세트에서 동시에 하나만 선택할 수 있습니다. 나는 정상적인 버튼으로 같은 행동을하고 싶다.Java에서 버튼을 선택 해제하는 일반 솔루션

3 개의 행이 있다고 가정 해 보겠습니다. 버튼을 선택하면 다음과 같이 변경됩니다. but.setSelected (true) 및 다른 두 버튼을 선택하지 않아야합니다. but.setSelected (false)

이제 Java에서이를 구현하는 일반적이고 간단하며 깨끗한 솔루션이 있습니까? (스윙)?

답변

3

JButton은 (JRadioButton가하는 같은 방법으로) AbstractButton를 확장하고 따라서 당신은 JRadioButton와 같은 동일한 솔루션을 사용할 수 있습니다 단순히 ButtonGroupJButton s의 수를 추가 할 수 있습니다.

그러나 일반적으로이 방법은 사람들이 일반적으로 버튼이 "멈추지"않을 것으로 기대하지 않으므로 최종 사용자에게는 직관적이지 않습니다. 특히 JRadioButton이있는 이유입니다.

+1

표준 JButton에서 이것을 사용하면 사용자가 분실 될 수 있지만 JToggleButton으로이 동작을 원할 수 있습니다. –

+0

좋은 지적입니다 - JToggleButton을 사용하여 단추가 멈추지 않도록해야합니다. JRadioButton과 JCheckBox는 JToggleButton의 서브 클래스입니다. – Adamski

1

이 부분은 - JToggleButton의 특수한 구성 요소입니다. 그것은 당신이 원하는 것입니다. ButtonGroup과 함께 라디오 버튼과 체크 박스로 사용할 수 있습니다. (토글 버튼의 ​​자손입니다)

+0

+1 게다가,'JToggleButton's를'ButtonGroup'에두면 필요한 단일 선택이 생깁니다. http://java.sun.com/javase/6/docs/api/javax/swing/ButtonGroup.html – trashgod

관련 문제