티스토리 뷰
프레임
사용 방법 2가지
- 첫번째 방법
import java.awt.*;
public class FrameEx {
public static void main(String[] args) {
Frame f = new Frame();
f.setTitle("Frame Text");
f.setSize(300,300);
f.setVisible(true);
}
}
- 두번째 방법
import java.awt.*;
public class FrameEx extends Frame {
public FrameEx() {
System.out.println("프레임 테스트");
setSize(300, 300); // 프레임 크기
setVisible(true); // 창 띄우기
}
public static void main(String[] args) {
FrameEx fe = new FrameEx();
}
}
- 기본적으로 BoarderLayout을 쓴다
#종료를 원할 때에는 콘솔창 옆에 빨간 네모 버튼을 눌러서 종료해야 한다
이벤트 처리
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class ActionEventEx extends Frame implements ActionListener, WindowListener {
Panel p;
Button input, exit;
TextArea ta;
public ActionEventEx() {
super("ActionEvent test");
p = new Panel();
input = new Button("입력");
exit = new Button("종료");
ta = new TextArea();
// 이벤터 소스를 리스너에 연결
input.addActionListener(this);
exit.addActionListener(this);
p.add(input);
p.add(exit);
add(p, BorderLayout.NORTH);
add(ta, BorderLayout.CENTER);
setBounds(300, 300, 300, 300);
setVisible(true);
addWindowListener(this);
}
public void actionPerformed(ActionEvent ae) {
String name;
name = ae.getActionCommand();
if (name.equals("입력")) {
ta.append("버튼 입력");
} else {
ta.append("종료");
}
try {
Thread.sleep(2000);
} catch (Exception e) {
}
System.exit(0);
}
public static void main(String[] args) {
new ActionEventEx();
}
@Override
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
@Override
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub
}
}
이렇게 처리하지 않는 메소드까지도 오버라이딩 해서 처리를 해야해서 번거롭다. 그래서 Adapter 클래스를 사용하여 작업을 좀 더 쉽게 처리하게 해준다
Adapter 클래스
- anonymous inner 클래스 이용
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] LINKEDLIST를 이용한 성적 처리 (0) | 2018.03.27 |
---|---|
[JAVA] SYNCHRONIZED - 동기화 (0) | 2018.03.27 |
[JAVA] INNER CLASS - 내부 클래스 (0) | 2018.03.22 |
[JAVA] INTERFACE - 인터페이스 (0) | 2018.03.22 |
[JAVA] STACK / QUEUE (0) | 2018.03.21 |
댓글