본문 바로가기
카테고리 없음

JAVA 9일차 - GUI 패키지, AWT, Swing 클래스

by 코젼 2022. 6. 30.
728x90
반응형

💡 GUI 패키지

💬 AWT 패키지
◾ 자바가 처음 나왔을 때부터 배포된 GUI 패키지
◾ 최근에는 거의 사용하지 않음

💬 Swing 패키지
◾ AWT 기술을 기반으로 작성된 자바 라이브러리
◾ 모든 AWT 기능 + 추가된 풍부하고 화려한 고급 컴포넌트
◾ 현재 자바의 GUI로 사용됨

💬 컴포넌트
◾ 컨테이너에 포함되어야 화면에 출력할 수있는 GUI 객체
- java.awt.Component
- java.swing.JComponent

💬 컨테이너
◾ 다른 컴포넌트를 포함할 수 있는 GUI 컴포넌트
◾ 컨테이너 안에 여러개의 컴포넌트 포함

💬 스윙 GUI 프로그램을 만드는 과정
◾ 스윙 프레임 만들기
◾ main()메소드 작성
◾ 스윙 프레임에 스윙 컴포넌트 붙이기

java.awt.*
java.awt.event*
javax.swing.*
javax.swing.event.*

💡 스윙 프레임

💬 스윙 프레임
◾ JFrame 상속받아 구현
◾ 모든 스윙 컴포넌트를담는 최상위 컨테이너

JFrame클래스를 상속받은 클래스 작성
◾ setTitle() 타이틀 지정
◾ setSize() 프레임 크기 지정
◾ setVisible(true) 프레임 화면에 출력
◾ main 메소드에서 구현 - 인스턴스 생성

📃 예제 1) 300x300 크기의 프레임 만들기

실행결과

📂 test1 패키지

📝 MyFrame 클래스

package test1;

import javax.swing.JFrame;

public class MyFrame extends JFrame{
	public MyFrame() {
		setTitle("테스트");
		setSize(300,300);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		MyFrame mf = new MyFrame();
	}
}

📃 예제 2) 3개의 버튼 컴포넌트를 가진 스윙 프레임 만들기

실행 결과

📂 test1 패키지

📝 SimpleFrame 클래스

package test;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class SimpleFrame extends JFrame{
	public SimpleFrame() {
		setTitle("ContentPane과 JFrame 예제");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container contentPane = getContentPane(); // 컨텐트팬 알아내기
		contentPane.setBackground(Color.orange); // 오렌지색 배경 설정
		contentPane.setLayout(new FlowLayout()); // 컨텐트팬에 FlowLayout 배치 관리자 달기
		
		contentPane.add(new JButton("OK"));
		contentPane.add(new JButton("Cancel"));
		contentPane.add(new JButton("Ignore"));
		
		setSize(300, 150);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new SimpleFrame();
	}
}

 

728x90
반응형

댓글