Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java JToggleButton 완벽 가이드 – 토글 버튼 구현 방법과 예제 코드

JToggleButton이란?

JToggleButton은 Java Swing에서 제공하는 AbstractButton 클래스를 확장한 컴포넌트입니다. 일반 버튼과 달리 한 번 누르면 눌린 상태가 유지되고, 다시 한 번 눌러야 원래 상태로 돌아오는 ON/OFF 토글 방식의 버튼을 구현할 때 사용됩니다.

JToggleButton의 주요 특징은 다음과 같습니다.

  • 처음 누르면 눌린 상태가 그대로 유지되며, 두 번째로 눌렀을 때만 해제됩니다.
  • 버튼이 눌릴 때마다 ActionEvent가 발생합니다.
  • 선택(selection) 개념을 지원하는 컴포넌트처럼 ItemEvent도 함께 발생시킬 수 있습니다. 버튼이 눌리면 '선택됨(selected)' 상태가 되고, 튀어나오면 '선택 해제(deselected)' 상태가 됩니다.

ItemEvent 처리 방법

토글 버튼의 상태 변화를 처리하려면 ItemListener 인터페이스를 구현해야 합니다. 이 인터페이스는 항목의 상태가 변경될 때 호출되는 itemStateChanged() 메서드를 정의하고 있습니다.

이벤트가 발생한 버튼의 현재 상태는 isSelected() 메서드를 호출하여 확인할 수 있습니다. 이 메서드는 버튼이 선택된 상태면 true, 그렇지 않으면 false를 반환합니다.

예제 코드

아래 예제는 JToggleButton을 생성하고 ItemListener를 등록하여 버튼의 상태에 따라 텍스트를 변경하는 프로그램입니다.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class JToggleButtonTest extends JFrame implements ItemListener {
    private JToggleButton jtb;

    JToggleButtonTest() {
        setTitle("JToggleButton Test");
        setLayout(new FlowLayout());
        setJToggleButton();
        setAction();
        setSize(450, 300);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    private void setJToggleButton() {
        jtb = new JToggleButton("ON");
        add(jtb);
    }

    private void setAction() {
        jtb.addItemListener(this);
    }

    public void itemStateChanged(ItemEvent eve) {
        if(jtb.isSelected())
            jtb.setText("OFF");
        else
            jtb.setText("ON");
    }
}

public class MainApp {
    public static void main(String[] args) {
        new JToggleButtonTest();
    }
}

실행 결과

프로그램을 실행하면 초기 상태에서는 "ON"이라는 텍스트가 표시된 토글 버튼이 나타납니다.

Java JToggleButton 완벽 가이드 – 토글 버튼 구현 방법과 예제 코드

버튼을 클릭하면 눌린 상태로 전환되면서 isSelected()가 true를 반환하고, 버튼의 텍스트가 "OFF"로 변경됩니다.

Java JToggleButton 완벽 가이드 – 토글 버튼 구현 방법과 예제 코드

이처럼 JToggleButton은 체크박스나 라디오 버튼처럼 켜고 끌 수 있는 기능이 필요한 UI를 만들 때 매우 유용하게 활용할 수 있습니다.