728x90
[ 원하는 기능 ]
- 성별을 묻는 상황에서 라디오버튼을 클릭 시 한 성별을 선택한다.
- 다른 성별을 선택 시, 기존 선택된 성별을 제외되고 선택한 성별만 선택된다.
- input 입력 버튼을 눌렀을 때 성별 radio button의 값을 가져와 db에 저장 후 JTable에 출력한다.
[ 문제 상황 ]
- 다른 성별을 선택 시, 양쪽 다 선택된다.
- 그래서 첫번째 값인 female만 저장되는 상황 발생
public class ClientGui extends JFrame {
private JRadioButton femaleRadioButton;
private JRadioButton maleRadioButton;
// (생략)
public ClientGui(){
inputButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (femaleRadioButton.isSelected()) {
gender = "female";
} else {
gender = "male";
}
// (생략)
}
}
}
[ 해결책 ]
- ButtonGroup을 이용해서 중복을 방지한다.
- add()를 이용해 group을 적용시킨다.
private ButtonGroup genderBtnGroup;
public ClientGui() {
// 추가된 내용
genderBtnGroup = new ButtonGroup();
genderBtnGroup.add(femaleRadioButton);
genderBtnGroup.add(maleRadioButton);
}
[ 출력 결과 ]
회사에서 쓰이니 swing을 공부하고 있다. 나름 이해하기는 괜찮다.
python으로도 비슷한 걸 만들어서 익숙하다.
참고 자료
Java: How to avoid multiple selection in radio button..
How to avoid multiple selection in radio button.. Here is two radio buttons (jRadioButton1 & jRadioButton2). In the executed window it is possible to select both radio buttons.. how can restric...
stackoverflow.com
728x90
반응형
'Programming language > Java' 카테고리의 다른 글
eclipse 이클립스 삭제하기 (0) | 2023.01.11 |
---|---|
[생활코딩] JAVA 기초 8일차 (0) | 2022.01.30 |
[생활코딩] JAVA 기초 7일차 (0) | 2022.01.19 |
[생활코딩] 다시 시작하는 JAVA 기초 6일차 (0) | 2022.01.09 |
[생활코딩] 다시 시작하는 JAVA 기초 5일차 (0) | 2022.01.06 |