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 |