→ 컴퍼넌트를 이용하여 작성된 프로그램
◎java.awt 패키지 : GUI 프로그램을 작성하기 위한 클래스가 선언된 패키지
→ 운영체제(OS)에 종속된 컴퍼넌트 제공
◎javax.swing 패키지 : GUI 프로그램을 작성하기 위한 클래스가 선언된 패키지
→ 운영체제와 별개의 Java 컴퍼넌트 제공
◎컴퍼넌트(Component) : GUI 프로그램에서 디자인 요소를 구현하기 위한 클래스
→ Button, List, Label, Canvas, Checkbox, Choice, Scrollbar, TextField, TextArea 등
◎컨테이너(Container) : 컴퍼넌트를 부착하기 위한 컴퍼넌트
→ 독립적 컨테이너 : Frame, Window, Dialog 등 - 독립적으로 사용 가능
→ 종속적 컨테이너 : Panel, ScrollPan 등 - 다른 컨테이너에 부착하여 사용 가능
package xyz.itwill.awt;
import java.awt.Frame;
public class FrameOneApp {
public static void main(String[] args) {
//Frame : 메뉴가 존재하는 컨테이너
Frame frame=new Frame();//메모리에 생성되며 Frame 객체가 생성되며 미출력
//프레임 객체만 만든거(아직 까지 화면에 출력 X)
//Component.setSize(int Width, int height) : 컴퍼넌트의 크기(폭과 높이)를
변경하는 메소드
//→ 크기 또는 위치는 픽셀(Pixel : 색을 표현하는 점)을 기본단위로 사용
frame.setSize(400, 300);
//Component.setLocation(int x, int y) : 컴퍼넌트의 출력위치(x 좌표와 y 좌표)
를 변경하는 메소드
frame.setLocation(500, 100);
//Component.setVisible(boolean b) : 컴퍼넌트의 출력 유무를 설정하는 메소드
//→ false : 미출력, true : 출력
frame.setVisible(true);
}
}
package xyz.itwill.awt;
import java.awt.Frame;
//GUI 프로그램은 Frame 클래스를 상속받아 작성하는 것을 권장
public class FrameTwoApp extends Frame{
private static final long serialVersionUID = 1L;
//생성자에서 프레임에 대한 디자인 설정 - UI(User Interface) 구현
//→ 생성자 매개변수로 프레임의 제목을 전달받아 사용
public FrameTwoApp(String title) {
// TODO Auto-generated constructor stub
//Frame(String title) : 제목을 전달받아 제목이 설정된 프레임을 생성하는 생성자
super(title);//super 키워드로 부모클래스의 원하는 생성자 호출
//Frame.setTitle(String title) : 프레임의 제목을 변경하는 메소드
//setTitle("프레임 연습");
//setTitle(title);
//setSize(400, 300);//프레임의 크기 변경
//setLocation(600, 100);//프레임의 출력위치 변경
//Component.setBounds(int x, int y, int width, int height) : 컴퍼넌트의
크기와 출력 위치를 변경하는 메소드
setBounds(600, 100, 400, 300);
//Frame.setResizable(boolean resize) : 프레임의 크기 변경 여부를 설정하는 메소드
//→ false : 프레임 크기 변경 불가능, true : 프레임 크기 변경 가능(기본)
setResizable(false);
setVisible(true);//프레임 출력
}
public static void main(String[] args) {
//Frame 클래스를 상속받은 자식클래스로 객체 생성 - Frame 객체 생성 : 프레임 생성
new FrameTwoApp("프레임연습");
}
}