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 |