JRadioButton 중복 선택 방지 | Avoid selecting multiple JRadioButton [java swing]

2024. 9. 5. 17:27·Programming language/Java
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으로도 비슷한 걸 만들어서 익숙하다.


참고 자료

  • https://stackoverflow.com/questions/29063963/java-how-to-avoid-multiple-selection-in-radio-button/29064080
 

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
'Programming language/Java' 카테고리의 다른 글
  • eclipse 이클립스 삭제하기
  • [생활코딩] JAVA 기초 8일차
  • [생활코딩] JAVA 기초 7일차
  • [생활코딩] 다시 시작하는 JAVA 기초 6일차
은성이
은성이
    250x250
  • 은성이
    은성의 블로그
    은성이
  • 전체
    오늘
    어제
    • 분류 전체보기 (84)
      • Front-end (8)
        • html (2)
        • css (3)
        • Vue.js (2)
        • React.js (1)
      • Back-end (10)
        • Node-js (1)
        • spring boot (9)
      • Side project (2)
        • mistake (1)
        • 잊어버렸던 것 (0)
      • Programming language (14)
        • javascript (3)
        • Java (10)
        • C (1)
        • Jsp (0)
      • App (1)
        • Android studio (1)
      • Database (3)
        • MySQL (2)
        • SQL (1)
      • git (6)
      • IoT (6)
        • Arduino (4)
        • 라즈베리파이 (1)
      • Adobe (0)
        • Photoshop (0)
        • Illustrator (0)
      • NFT (1)
      • Metaverse (1)
        • gather town (1)
      • 일상 (9)
        • 독서 reading (2)
        • 강연 (3)
        • 현장실습 (3)
      • 언어 (10)
        • 영어 (10)
        • 일본어 (0)
      • IT (1)
        • linux (1)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    화상영어
    깃공부
    java
    css
    자바
    영어
    개발
    일상
    springboot
    공부
    GIT
    html
    영어복습
    생활코딩
    코딩
    영어공부
    코딩공부
    백엔드
    프로젝트
    개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
은성이
JRadioButton 중복 선택 방지 | Avoid selecting multiple JRadioButton [java swing]
상단으로

티스토리툴바