결국 무엇이든 해내는 사람

Day 15 - 자바 Frame을 이용하여 화면 중앙에 창 띄우기, 도형 , 선 그리기 본문

두서없는 공부 노트/JAVA

Day 15 - 자바 Frame을 이용하여 화면 중앙에 창 띄우기, 도형 , 선 그리기

kkm8257 2020. 9. 3. 19:53
반응형
package frame_1;

import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Toolkit;

public class frame_main {
	public static void main(String[] args) {

		Control cv = new Control();
		cv.init();
		
		
		
	}

}
​
package frame_1;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

public class MyCanvas extends Canvas {

	@Override
	public void paint(Graphics g) {

		Graphics2D g2 = (Graphics2D) g;

		
		setBackground(new Color(41, 128, 185));
		g2.setColor(Color.white);
		g2.drawRect(100, 100, 80, 80); //줄로 그은 사각형
		g2.fillRect(200, 150, 80, 80);//꽉찬 사각형
		g2.drawOval(100, 200, 50, 50); //동그라미 선
		g2.fillOval(150, 250, 50, 50); //꽉찬 동그라미
		
		
		g2.drawLine(100, 200, 300,300);  //직선 긋기
	}

}
package frame_1;

import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class Control {

	public void init() {

		Frame frame = new Frame("첫 AWT");
		setLayout(frame);

		frame.setLayout(null);
		//배치관리자 제거 , 기본 레이아웃 세팅을 없애겠다는 것 , 내 마음대로 세팅하기위해
		
		MyCanvas can = new MyCanvas();
		can.setSize(500,500);
		can.setLocation(150,150);
		frame.add(can);
		frame.setVisible(true);

	}

	public void setLayout(Frame frame) {

		Dimension res = Toolkit.getDefaultToolkit().getScreenSize();
		System.out.println("해상도 : " + res.width + " x " + res.height);

		int frame_width = 800;
		int frame_height = 800;

		frame.setSize(frame_width, frame_height);

		frame.setLocation(res.width / 2 - frame_width / 2, res.height / 2 - frame_height / 2);

		// 왼쪽으로 가로의 절반만큼, 위쪽으로 세로의 절반만큼
frame.addWindowListener(new WindowListener() {
			
			@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 Auto-generated method stub
				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
				
			}
		});
	}
}
반응형
Comments