19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨 19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨 Section 3 텍스트 필드와 텍스트 에리어 Section 4 버튼 Section 5 체크박스 Section 6 라디오 버튼 Section 7 콤보박스 Section 8 리스트 Section 9 스크롤바 Section 10 그룹 홀더 Section 11 메뉴 1
학습 목표 사용자 인터페이스인 스윙 컴포넌트의 사용에 관해 학습합니다. 스윙의 다양한 컴포넌를 사용하여 GUI를 구축에 관해 학습합니다. 컴포넌트에서 이벤트 처리를 반복 학습합니다.
1-1 스윙(javax.swing) 패키지의 개요 1 스윙 컴포넌트 1-1 스윙(javax.swing) 패키지의 개요 스윙(Swing) 선(sun)사가 넷스케이프사와 공동으로 개발한 새로운 그래픽 툴킷(toolkit) 그래픽을 JVM이 자체적으로 처리 컴포넌트를 그리기 위해 실행 중인 컴퓨터에서 하나의 컴포넌트(예를 들면 프레임 윈도)만을 사용 스윙과 관련된 모든 클래스들은 javax.swing 패키지에 포함
1-1 스윙(javax.swing) 패키지의 개요 1 스윙 컴포넌트 1-1 스윙(javax.swing) 패키지의 개요
1-1 스윙(javax.swing) 패키지의 개요 1 스윙 컴포넌트 1-1 스윙(javax.swing) 패키지의 개요
1-2 JComponent 클래스 Jcomponent 클래스 1 스윙 컴포넌트 1-2 JComponent 클래스 Jcomponent 클래스 AWT 패키지의 Component 클래스와 Container 클래스의 하위 클래스 상위 클래스에서 제공되는 기본적인 기능(메소드)들을 그대로 상속받아 사용할 수 있다는 의미
2 이미지 아이콘(ImageIcon)과 라벨(Label) 이미지를 아이콘화하여 제공하는 클래스
3 이미지 아이콘(ImageIcon)과 라벨(Label) 스윙에서 라벨은 JLabel 클래스를 사용
3 이미지 아이콘(ImageIcon)과 라벨(Label)
3 이미지 아이콘(ImageIcon)과 라벨(Label)
3 이미지 아이콘(ImageIcon)과 라벨(Label)
3 텍스트 필드와 텍스트 에리어 한 줄의 텍스트 : JTextField 여러 줄의 텍스트 : JTextArea
3 텍스트 필드와 텍스트 에리어
3 텍스트 필드와 텍스트 에리어
3 텍스트 필드와 텍스트 에리어
3 텍스트 필드와 텍스트 에리어
4 버튼 AbstractButton 클래스 : 버튼(버튼, 체크박스 버튼, 라디오 버튼 등)들의 작동을 제어할 수있는 많은 메소들을 제공
4 버튼 JButton 클래스
4 버튼
4 버튼
4 버튼
4 버튼
4 버튼
4 버튼
4 버튼
5 체크 박스 JCheck 클래스
5 체크 박스
5 체크 박스
6 라디오 버튼 JRadioButton 클래스
버튼을 그룹으로 묶는 기능 : ButtonGroup 클래스 6 라디오 버튼 버튼을 그룹으로 묶는 기능 : ButtonGroup 클래스
6 라디오 버튼
6 라디오 버튼
6 라디오 버튼
7 콤보박스 JComboBox 클래스
7 콤보박스
8 리스트 JList 클래스
8 리스트
8 리스트
vsb와 hsb는 수직, 수평 스크롤 바를 설정하기 위해 사용되는 상수로서 다음과 같은 상수가 사용됨 9 스크롤 바 JScrollPane 클래스 vsb와 hsb는 수직, 수평 스크롤 바를 설정하기 위해 사용되는 상수로서 다음과 같은 상수가 사용됨 HORIZONTAL_SCROLLBAR_ALWAYS : 항상 수평 스크롤 바를 제공 HORIZONTAL_SCROLLBAR_AS_NEEDED : 필요한 경우(패널의 크기를 넘어서는 경우)에만 수평 스크롤 바 제공 VERTICAL_SCROLLBAR_ALWAYS : 항상 수직 스크롤 바를 제공 VERTICAL_SCROLLBARAS_NEEDED : 필요한 경우에만 수직 스크롤 바 제공
9 스크롤 바
10 그룹 홀더 JTabbedPane 클래스
10 그룹 홀더
10 그룹 홀더
10 그룹 홀더
11 메뉴 메뉴 관련 클래스 JMenuBar, JMenu, JMenuItem, JCheckBoxMenuItem, JradioButtonMenuItem 등
11 메뉴
11 메뉴
학습정리 스윙(Swing) 컴포넌트 컴포넌트에서의 이벤트 처리 javax.swing 패키지는 가장 상위 클래스로 JComponent 클래스를 가진다. 그 의미는 JComponent 클래스에 제공되는 모든 메소드를 사용할 수 있다는 의미이다. JComponent 클래스는 java.awt 패키지의 Component, Container 클래스를 상위 클래스로 가진다. 컴포넌트에서의 이벤트 처리 컴포넌트에서 전형적인 이벤트 처리는 다음과 같은 순서로 이루어진다. 받아들일 이벤트와 연관된 인터페이스를 사용하여 클래스 생성 GUI 구축을 위한 컴포넌트 객체를 생성 이벤트를 받아들인 컴포넌트 객체(여기서는 버튼 객체)에 리스너를 등록 add() 메소드를 사용하여 컴포넌트를 패널(또는 프레임)에 추가 이벤트를 처리할 이벤트 처리 루틴 작성(예 : action 이벤트)
학습정리 스윙 컴포넌트의 사용과 이벤트 처리 다양한 컴포넌트를 사용하여 사용자 인터페이스를 구축할 수 있다. 대부분의 컴포넌트에서 이벤트 처리는 같은 형태로 처리된다. 이벤트를 처리하기 위해서는 우선 컴포넌트에서 발생하는 이벤트가 어떤 종류가 있는지를 판별해야 하고, 그 종류의 이벤트를 처리하기 위해서 사용하는 이벤트 리스너를 선택해야 한다. 이벤트를 처리할 클래스를 작성할 때에는 선별된 이벤트 리스너를 포함하여 작성하여야 하며, 리스너 인터페이스에서 선언된 모든 메소드를 오버라이딩하여 이벤트 처리 루틴을 작성하여야 한다.
수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 50