다음은 **Swing의 모든 주요 컴포넌트**를 정리한 표이다. ### **1. 기본 컴포넌트** | 컴포넌트 | 설명 | |----------|---------------------------------------------| | `JLabel` | 텍스트 또는 아이콘을 표시하는 레이블 | | `JButton` | 클릭 가능한 버튼 | | `JToggleButton` | ON/OFF 상태를 가질 수 있는 버튼 | | `JCheckBox` | 다중 선택이 가능한 체크박스 | | `JRadioButton` | 단일 선택이 가능한 라디오 버튼 | | `JTextField` | 한 줄의 텍스트 입력 필드 | | `JPasswordField` | 비밀번호 입력 필드 (입력값이 가려짐) | | `JTextArea` | 여러 줄의 텍스트를 입력할 수 있는 영역 | | `JEditorPane` | HTML, RTF 등을 표시할 수 있는 편집 가능한 텍스트 영역 | | `JComboBox` | 드롭다운 목록을 제공하는 콤보 박스 | | `JList` | 여러 개의 아이템을 선택할 수 있는 리스트 | ### **2. 컨테이너 컴포넌트** | 컴포넌트 | 설명 | |----------|---------------------------------------------| | `JPanel` | 기본 컨테이너 패널 | | `JScrollPane` | 내부 컴포넌트에 스크롤 기능을 추가 | | `JSplitPane` | 두 개의 컴포넌트를 수평/수직으로 나눌 수 있는 패널 | | `JTabbedPane` | 여러 개의 탭을 제공하는 패널 | | `JLayeredPane` | 컴포넌트들을 여러 레이어로 배치할 수 있는 패널 | | `JDesktopPane` | MDI(Multiple Document Interface)를 위한 내부 프레임 지원 패널 | ### **3. 고급 컴포넌트** | 컴포넌트 | 설명 | |----------|---------------------------------------------| | `JTable` | 데이터를 표 형태로 표시하는 테이블 | | `JTree` | 계층 구조를 표시하는 트리 | | `JProgressBar` | 작업 진행 상태를 표시하는 프로그레스 바 | | `JSlider` | 슬라이더를 통한 값 조정 가능 | | `JSpinner` | 숫자 또는 값 목록을 조정할 수 있는 스피너 | ### **4. 메뉴 및 다이얼로그** | 컴포넌트 | 설명 | |----------|---------------------------------------------| | `JMenuBar` | 메뉴바를 제공하는 컨테이너 | | `JMenu` | 메뉴 항목을 포함하는 메뉴 | | `JMenuItem` | 개별적인 메뉴 항목 | | `JCheckBoxMenuItem` | 체크 가능한 메뉴 항목 | | `JRadioButtonMenuItem` | 라디오 버튼 형태의 메뉴 항목 | | `JPopupMenu` | 우클릭 팝업 메뉴 | | `JToolBar` | 도구 모음(툴바) 패널 | | `JOptionPane` | 알림, 확인, 입력을 위한 다이얼로그 제공 | | `JFileChooser` | 파일 선택 다이얼로그 | | `JColorChooser` | 색상 선택 다이얼로그 | ### **5. 윈도우 관련 컴포넌트** | 컴포넌트 | 설명 | |----------|---------------------------------------------| | `JFrame` | 기본 윈도우 프레임 | | `JDialog` | 모달 또는 모델리스 다이얼로그 창 | | `JWindow` | 테두리 없는 창 | | `JInternalFrame` | `JDesktopPane` 내에서 사용할 수 있는 내부 프레임 | 위 컴포넌트들을 조합하면 다양한 GUI 애플리케이션을 만들 수 있다.