Java

Java 자바 GUI Frame

일개미2호 2021. 7. 1. 17:16

6/29

 

Frame

import java.awt.Frame;

 

클래스가 컨테이너 Frame를 extends로 상속 받아서 구현할 수 있음.

public class FrameTest extends Frame

 

창의 기본 크기와 위치

setSize(500,400);
//넓이, 높이 : 창의 크기
setLocation(300,300);
//x좌표, y좌표 : 창이 열리는 위치
setBounds(300,300,500,400);
//x y w h : 한번에 다 설정

 

객체 생성을 해서 설정할 수도 있음

Point xy = new Point(500,300); //창 시작 위치
Dimension wh = new Dimension(500,300); //창 크기
Rectangle rect = new Rectangle(100,100,400,400); //한번에 다 설정
setSize(wh);
setLocation(xy);
setBounds(rect);

숫자의 단위는 픽셀(pixel)


타이틀바 제목 설정

setTitle("창 제목 설정");
super("창 제목");
//Frame를 상속받으므로 super로 설정할 수 있다.

타이틀바에 이미지 추가

Toolkit tk = Toolkit.getDefaultToolkit();
Image icon = tk.getImage("img/img.png");
//이렇게 두줄로 써도 되고,
Image icon = Toolkit.getDefaultToolkit().getImage("img/img.png");
//한줄로 써도 됨
setIconImage(icon);
//img/img.png -> 이미지의 경로,파일명,확장자명에 따라 다름

레이아웃은 기본적으로 BorderLayout

동 서 남 북 중앙


버튼 생성

Button btn = new Button("버튼");
add(btn);
//위치 설정 없이 add하면 center에 위치함
Button btn1 = new Button("111111");
Button btn2 = new Button("222222");
Button btn3 = new Button("333333");
Button btn4 = new Button("444444");
add(BorderLayout.NORTH, btn1); //북쪽에 btn1 추가
add("South",btn2);
add(BorderLayout.EAST, btn3);
add(BorderLayout.WEST, btn4);
//add(위치,버튼명);
//BorderLayout.NORTH or "North"


실제로 창을 보기 위해선,

setVisible(true);
// t:보여줌 / f:안보여줌

 

 


상속받지 않고 객체를 생성해서 구현할 수도 있음

import java.awt.*;
public class FrameTest2 {
	Frame frm = new Frame("제목");
	Button btn = new Button("객체를 이용한 컨테이너 만들기");
	public FrameTest2() {
		frm.add(btn); //객체니까 앞에 frm. 붙임
		frm.setSize(500,300);
		frm.setVisible(true);
	}
	public static void main(String[] args) {
		new FrameTest2();
	}
}

'Java' 카테고리의 다른 글

Java 자바 GUI JFrame  (0) 2021.07.01
Java 자바 GUI 레이아웃  (0) 2021.07.01
Java 자바 ArrayList 정렬하기 compare  (0) 2021.06.27
Java 자바 컬렉션 Map  (0) 2021.06.24
Java 자바 Iterator 반복자  (0) 2021.06.24