[내장형]윤민석 2011년 8월 8일 수업내용
- 텍스트 모드 프로그램과 윈도우 프로그램의 구조적 차이
⇒ 윈도우 프로그램의 구조
⇒ 윈도우의 기본적인 구성요소
타이틀 바(title bar) |
라벨(label) |
프레임(frame) |
content pane |
⇒ 컴포넌트(component)
프레임, 타이틀 바, content pane, 라벨 등의 구성요소를 통틀어 이르는 용오
⇒ 컴포턴트들이 겹쳐진 층으로 구성되는 윈도우
프레임 |
타이틀 바 |
content pane |
라벨 |
Hello, Java |
⇒ 프레임 만드는 방법
⇒ 타이틀이 표시된 프레임 만드는 방법
⇒ 라벨 만드는 방법
⇒ 예제 1
package kr.ac.busanit.window;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class WindowExample1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame("Hello Java Program");
Container contentPane = frame.getContentPane();
JLabel label = new JLabel("Hello Java!!!");
contentPane.add(label);
frame.setSize(300, 300); // frame size 조절
frame.setVisible(true);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
}
}
⇒ 출력
⇒ 예제 2
package kr.ac.busanit.window;
import java.awt.BorderLayout;
import java.awt.Frame; // 초창기 윈도우 프로그래밍 기술 -> swing으로 발전
import java.awt.Container;
import javax.swing.JFrame; // 윈도우를 그리는데 javax 폴더에 있는 swing이 필요하다.
import javax.swing.JLabel;
import javax.swing.JButton;
public class WindowExample1 {
public static void main(String[] args) {
JFrame frame = new JFrame("My First Program"); // 타이틀바에 My First Program이 들어간다.
Container contentPane = frame.getContentPane();; // 위의 JFrame에서 뽑아온다.
JLabel label = new JLabel("안녕하세요!!!!");
JButton button = new JButton("ok");
contentPane.setLayout(new BorderLayout());
contentPane.add(label, BorderLayout.CENTER);
contentPane.add(button, BorderLayout.SOUTH);
frame.setSize(300, 300);
frame.setVisible(true);
//Frame frame = new Frame("My First Program");
//frame.setSize(300, 300);
//frame.setVisible(true);
}
}
⇒ 출력