728x90
프로그래밍을 처음 배우면 전부 콘솔에서 논다. 왜냐하면 콘솔프로그래밍이 기초이며 쉽기 때문이다.
그러나 누구나 처음 하게되면 콘솔에서 탈출을 꿈꾼다.
그 이유는 우리가 생각하는 프로그래밍은 콘솔에서 단순히 문자열을 출력하는게 아니였기 때문이다.
물론 조금 더 나아가다보면 콘솔에서 뭔가를 출력하는 프로그래밍이 쉬운 프로그래밍 같은 개념이라는 것은 알게된다.

일단 GUI프로그래밍을 한다면 몇가지 선택지가 있다.
Swing과 AWT가 있고 SWT,SwingX,wx4j등의 오픈소스 프로젝트 역시 선택권 안에 들어간다고 할 수 있다.
그중에서 우리는 Swing을 할 것이다.

Swing에 앞서서 먼저 가볍게 AWT에대해서 알고 넘어가자. 자세히 알 필요는 없다.
왜냐하면 현재 AWT는 거의 사용이 되지 않는 라이브러리이기 때문이다.
아래는 정말 간단한 AWT의 예제코드이다.

import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;

public class HelloAWT {

public static void main(String[] args) {
Frame fr = new Frame("This 프레임");
Panel pn = new Panel();
TextField tf = new TextField();

pn.add(tf);
fr.add(pn);
tf.setText("This is 텍스트");

fr.setSize(300, 200);
fr.setVisible(true);
}

}

앞으로 더 자세히 알아나갈것이지만 이 코드에 대해서 간단히 알아보자.


Frame - 윈도우 자체


frame이라는 것은 gui의 가장큰 단위중 하나이다.

우리는 이 frame을 띄우기 위해서 프로그래밍을 하는것이라고 생각하면된다.


이제 이 frame은 하나의 윈도우라고 하였다. 이 안에 우리가 필요하는 gui요소를 넣으면된다.

보통 이러한 gui요소를 위젯이라고 부른다. AWT에서는 이러한 요소를 component이라고 부른다.

이제 Frame안에 컨트롤이라는 것을 넣어 볼것이다.


Panel - 윈도우의 구역을 나누는 단위


Panel은 그 자체로는 아무것도 없는 component 중의 하나이다.

보통 Frame을 제작하고 나면 안에 Panel을 하나 넣는다.

그러면 결국 Frame안에 하나의 Panel이 존재하고 그 안에 우리가 gui요소를 넣게되는 것이다.

이러한 부분은 처음 배울때 크게 와닿지 않을 수 있으나 사실 그렇게 신경쓸 필요는 없다.

그냥 일단 그렇게 쓰나보다 하고 생각하면된다.

마지막으로 우리가 보고싶은 component를 panel에 부착하면 된다.


TextField - 문자의 입출력이 자유로운 구역


문자열을 입력하는 텍스트 필드를 만든다.

이제 Frame안에 Panel을 하나 넣고 Panel안에 TextField를 넣는 식으로 만들게 된다.

실행해보면 아래와 같다.


가장 간단한 기본적인 창이다. 

위의 창은 맥에서 실행한 것이고 윈도우에서나 리눅스에서 실행하면 각각의 운영체제 맞게 만들어진다.

이러한 것을 Look and Feel이라고 부른다.

AWT는 각각의 운영체제에 맞게 만들어진다. 즉 각각의 운영체제의 Look and Feel에 맞춰준는 것이다.

'Programming > Java-Swing' 카테고리의 다른 글

[Swing-06]Event-Key  (0) 2017.10.24
[Swing-05]Event-Action  (0) 2017.10.21
[Swing-04]Layout(배치관리자)  (0) 2017.10.20
[Swing-03]Component  (0) 2017.10.18
[Swing-02]Swing 시작  (0) 2017.10.18

+ Recent posts