티스토리 뷰
실행시킬 메인 클래스
package main;
import java.awt.Frame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class Main {
public static void main(String[] args) {
// TODO 창이 화면의 정중앙에 오도록 하기!(해상도크기와 상관없이)
new Control().init();
}
}
컨트롤 클래스
2가지 방법으로 해봄
1st : (스크린창 - 프레임창)/2 이용
2nd : JFrame 사용 setLocationRelativeTo(null); 메서드 이용
package main;
import java.awt.BorderLayout; //2nd 방법
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame; // 2nd 방법
import javax.swing.JLabel;
public class Control {
public void init() {
Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
// System.out.println(scr.width+":"+scr.height); //해상도 보여주기
Frame frame = new Frame("1st AWT");
frame.setSize(200,200); //프레임창 크기 정하기
Dimension frameSize=frame.getSize();//프레임창 크기를 디멘션으로
//1st 방법 모니터와 자바 프레임 길이를 뺀 뒤 1/2하는 방법
frame.setLocation((scr.width-frameSize.width)/2,(scr.height-frameSize.height)/2); //프레임창 위치 정하기
frame.setResizable(false); //?
setLayout(frame);//밑에서 메소드로 가져옴
frame.setVisible(true);
//2nd 방법 java.awt.Window에 있는 setLocationRelativeTo 메서드 활용
JFrame frame2 = new JFrame();
frame2.setSize(300,300);
//프레임 위치 설정
frame2.setLocationRelativeTo(null);
//레이블 생성
JLabel label = new JLabel("2nd 방법",JLabel.CENTER);
//레이블을 프레임에 추가
frame2.add(label, BorderLayout.CENTER);
frame2.setVisible(true);
}
private void setLayout(Frame frame) {
frame.addWindowListener(new WindowListener() {//밑에는 ctrl+스페이스바 자동생성
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Closed말고 여기에 창닫기 표시
System.exit(0);
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
});
}
}
'JAVA' 카테고리의 다른 글
랜덤으로 공 튀기기_AWT (0) | 2020.09.03 |
---|---|
GoldenGoose_멀티스레드 연습 (0) | 2020.09.03 |
Sep1_ Runnable (0) | 2020.09.01 |
파일저장_Stream (0) | 2020.08.31 |
상속_오버라이딩, Final, 다형성, 추상클래스, 추상메소드 (0) | 2020.08.18 |
댓글