⇒ 윈도우를 생성하는 기본 예제
package kr.ac.busanit.window;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
public class MyWindow {
public static void main(String[] args) {
JFrame frame = new JFrame("Title"); // frame에 Title이라는 문자를 보여준다.
JLabel label = new JLabel("반갑습니다.", SwingConstants.CENTER);
// SwingConstants.'위치' 로 라벨에 들어가는 문자열의 위치를 지정할 수 있다.
Container contentPane =frame.getContentPane();
contentPane.add(label);
//frame.add()
frame.pack();
frame.setLocation(100,100); // 화면(모니터)상의 어느지점에 창이 생기는지 지정
frame.setSize(300,300);
//frame.setPreferredSize(new Dimension(300,200)); // 프레임의 크기를 바꾼다.
frame.setVisible(true); // 윈도우가 화면에 보이도록 한다.
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); // x(종료)버튼 활성화
}
}
→ 출력결과
⇒ 윈도우의 기본적인 구성요소
타이틀 바(title bar) 라벨(label) 프레임(frame) content pane
⇒ 컴포넌트(component)
프레임, 타이틀 바, content pane, 라벨 등의 구성요소를 통틀어 이르는 용어
⇒ 컴포턴트들이 겹쳐진 층으로 구성되는 윈도우
프레임 Hello, Java 타이틀 바 content pane 라벨
⇒ 프레임 만드는 방법
※ new는 C의 malloc과 유사하다.
→ 초창기 JAVA 윈도우 프로그래밍에서는 awt를 사용했으나 요즘은 swing을 사용한다.
→ swing은 특히 안드로이드에서 많이 사용된다.
→ 왼쪽의 JFrame frame은 변수 선언이며 오른쪽의 new JFrame(); 은 메모리를 할당한다.
→ new는 객체의 생성
→ 즉, 왼쪽항의 JFrame은 type이 되며 frame은 이름이 되고 이것은 오른쪽 항의 new 명령에 의해 메모리에 생성된
JFrame();의 주소를 저장하게 된다.
⇒ 타이틀이 표시된 프레임 만드는 방법
⇒ 라벨 만드는 방법
⇒ 프레임에 종속된 content pane을 가져오는 방법
⇒ content pane 위에 라벨을 올려놓는 방법
⇒ 프레임을 적절한 크기로 조정하는 방법
⇒ 프레임을 디스플레이하는 방법
⇒ 윈도우의 위치를 지정하는 방법
⇒ 프레임의 크기를 바꾸는 방법
⇒ 라벨의 위치를 지정하는 방법
- 윈도우 프로그램의 작성 방법
∙ 텍스트 상자와 버튼
텍스트 상자 버튼 라벨
⇒ 텍스트 상자를 만드는 방법
⇒ 버튼을 만드는 방법
⇒ 여러 개의 컴포넌트를 content pane 위에 올려놓는 방법 – 잘못된 예
이렇게 하면 마지막에 추가된 라벨만 보이게 됩니다 contentPane.add(text); contentPane.add(button); contentPane.add(label);
⇒ 예제
→ 출력결과
⇒ content pane의 기본 레이아웃 – border layout
⇒ 여러 개의 컴포넌트를 content pane 위에 올려놓는 방법
contentPane.add(text, BorderLayout.CENTER); contentPane.add(button, BorderLayout.EAST); contentPane.add(label, BorderLayout.SOUTH); 이렇게 배치됩니다
⇒ Border layout을 사용한 예제
→ 출력결과
간단하게 윈도우 제작하는 방법 -예제-
∙ 버튼 이벤트의 처리 방법
⇒ 텍스트 상자의 텍스트를 가져오는 방법
⇒ 라벨에 텍스트를 표시하는 방법
⇒ 버튼을 눌렀을 때 해야할 일을 기술하는 방법
⇒ 버튼을 눌렀을 때 actionPerformed 메소드가 호출되도록 만드는 방법
→ 우리는 ActionListner 등을 이용해야 JVM에 접근 가능하다.
→ 위의 예제는 button을 눌렀을 때 이벤트가 발생한다. 그리고 그 내용은 변수 listener에 들어간다.(함수 포인터와 유사.)
→ 이벤트 처리에 관련해서 좀더 자세한 내용은 내일 수업시간에 진행.
'코스웨어 > 11년 내장형하드웨어' 카테고리의 다른 글
[내장형] 일일보고서(11년 8월 16일) 황세선 (31) | 2011.08.16 |
---|---|
[내장형] 일일보고서(11년 8월 12일) 정선주 (14) | 2011.08.13 |
[내장형]심재원-2011년08월11일_일일보고서 (7) | 2011.08.11 |
[내장형]이수란_2011.8.10 (10) | 2011.08.10 |
[내장형]윤민석 2011년 8월 8일 수업내용 (10) | 2011.08.09 |
[내장형]최남식-2011년07월29일 일일보고서 (13) | 2011.07.29 |
20110728 일일보고서 (상속) _ 이성재 (12) | 2011.07.28 |
[내장형]김수만_2011년7월27일_일일보고서(선생님의 채팅프로그램 소스코드(chat_server.c, chat_client.c)의 전체적인 흐름과 분석, 네트워크프로젝트 계획), JAVA String Class, toString(), charAt(), equals(), substring() 메소드를 사용한 예제4개 (16) | 2011.07.27 |