오라클자바커뮤니티에서 설립한 오엔제이프로그래밍
실무교육센터
(오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)
자바에서 윈도우를 띄우는 것은 프레임을 띄우는 것과 유사한데 이번에는 그것에 대해 알아 보겠습니다.
프레임이용방법 -상속
import java.awt.*;
public class AwtTest1 extends Frame {
Button btn;
public AwtTest1() {
btn = new Button("버튼");
}
public void display() {
add(btn);
setSize(100,100);
setVisible(true);
}
public static void main(String args[]) {
AwtTest1 f = new AwtTest1();
f.display();
}
}
[결과]
p>
프레임이용방법 -멤버변수로 선언하여 사용
import java.awt.*;
public class 1 {
Button btn;
Frame f;
public AwtTest2() {
btn = new Button("버튼");
f = new Frame();
}
public void display() {
f.add(btn); f.setSize(100,100); f.setVisible(true);
}
public static void main(String args[]) {
AwtTest2 myFrame = new AwtTest2();
myFrame.display();
}
}
[결과]
위의 두프로그램은 같은 결과를 나타내지만 Frame을 이용하는 형태가 다르다. 하나는 직접 상속을 했고 하나는 그렇지 않다. 특별히 상속할 것이 없으면 Frame을 상속하면 되겠지만 이미 중요한 다른 클래스를 상속했다면 자바는 다중 상속을 지원하지 않으므로(상속은 하나만 허용) 두번째 방법을 이용한다.
예제( AwtTest .java) – 각종 Component
import java.awt.*;
public class AwtTest extends Frame {
Button btn; Label lbl ; TextArea ta; TextField tf; Checkbox cb1, cb2;
Choice choice; List list;
AwtTest () {
btn = new Button("버튼");
lbl = new Label("라벨");
ta = new TextArea("TextArea", 5, 20); // 5행, 20열
tf = new TextField("TextField", 20); // 20칸
cb1 = new Checkbox("체크박스1");
cb2 = new Checkbox("체크박스2");
choice = new Choice();
list = new List(3,true); // 보여지는것은 2개이고 다중선택은 true로 지정
}
void display() {
setLayout(new FlowLayout()); // 컴포넌트 배치 설정
add(btn);
add(lbl);
add(ta);
add(tf);
add(cb1);
add(cb2);
choice.add("초록"); // 콤보박스에 항목 추가
choice.add("빨강");
choice.add("파랑");
add(choice);
list.add("봄"); // 리스트박스에 항목 추가
list.add("여름");
list.add("가을");
list.add("겨울");
add(list);
pack();
setVisible(true);
}
public static void main(String args[]) {
AwtTest myFrame = new AwtTest();
myFrame.display();
}
}
댓글 없음:
댓글 쓰기