2022 스터디

JAVA 스윙 공부

EYR 2022. 11. 10. 01:10

JFrame - 응용프로그램의 전체 컴포넌트

*컴포넌트(component)란 여러 개의 프로그램 함수들을 모아 하나의 특정한 기능을 수행할 수 있도록 구성한 작은 기능적 단위를 말한다. (해시넷 위키 http://wiki.hash.kr/index.php/%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8)

 

순수 컴포넌트

컨테이너 - 다른 컴포넌트를 포함할 수 있는 컴포넌트

 

Container 컨테이너

- Container 클래스를 상속받는 방식으로 사용

-컨테이너도 다른 컨테이너에 컴포넌트로 포함될 수 있다.

 

[JFrame, JPanel, ...] 컨테이너

 

최상위 컨테이너

-다른 컨테이너에 속하지 않고도 독립적으로 화면에 출력될 수 있는 컨테이너(Top Level Container)

JFrame, JDialog, JApplet

 

 

 

 

과정

1. 스윙 프레임 작성

2. main 메소드 작성

3. 프레임에 스윙 컴포넌트 붙이기

 

스윙 프레임 - 최상위 컨테이너

스윙 프레임이 출력될 때 여기에 부착된 모든 컴포넌트들이 화면에 출력된다.

JFrame < 스윙 프레임 역할 수행

 

컨텐트팬 - 메뉴를 제외한 모든 GUI 컴포넌트 부착 공간

 

 

 

프레임 만들기

public class MyFrame extends JFrame{
... ...
}

JFrame 을 상속받아 Class를 만들면 된다.

 

여기에 main() 메소드를 두고 MyFrame 객체를 생성하면 스윙 프레임이 탄생한다.

setTitle("위쪽 창에 뜨는 글자");
setSize(300,300); // 창 크기
setVisible(true); // 출력되도록 지시.
import javax.swing.*;


public class swing extends JFrame {
	
	public swing() {
		setTitle("300x300 스윙 프레임 만들기");
		setSize(300,300);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		swing sw = new swing();
	}

}

 

 

 

프레임에 컴포넌트 붙이기

 

타이틀

public MyFrame(){
    super("타이틀문자열");
    setTitle("사이틀문자열");
}
// 이 두 방법중 하나를 사용?

 

컨텐트팬에만 컴포넌트 부착 가능

JFrame 객체가 생길 때 컨텐트팬이 자동으로 생성됨

add() 메소드를 사용하여 부착한다.


Container contentPane = getContentPane();
// 프레임에 부착된 컨텐트팬을 알아내 붙인다.

frame.setContentPane(new My Panel()); 
// 프레임의 컨텐트팬을 변경

JButton button = new JButton("Click");
contentPane.add(button);

 

컨텐트팬 의식하지 않고 add만으로도 충분함(바뀌었다고 함)

 

 

'2022 스터디' 카테고리의 다른 글

[web hacking] 2022  (0) 2023.11.03
java 스터디 사전조사  (0) 2023.05.14
[2023] 스택/큐  (0) 2023.03.13
넘파이 스터디 20230308  (0) 2023.03.08
js 스터디 - 2주차  (0) 2022.04.15