Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Servlet Container란
- 토큰필터
- ElasticSearch EdgeNGram
- Spring Container란
- Java
- 동의어 파일
- ElasticSearch 동의어 파일
- Servlet Life Cycle
- Spring Handler
- Dispathcher Servlet이란
- H2
- Servlet과 Thread
- ElasticSearch 동의어 사전
- elasticSearch
- 인텔리제이
- ContextLoaderListener란
- ElasticSearch 토큰필터
- Bean Factory란
- 자바
- 안드로이드
- H2 DB
- layout
- spring 장점
- ElasticSearch NGram
- 계산기
- 안드로이드스튜디오
- Servlet 멀티 스레딩
- ElasticSearch Shingle
- ApplicationContext란
- Spring Servlet이란
Archives
- Today
- Total
결국 무엇이든 해내는 사람
Day 15 - 자바 Frame을 이용하여 화면 중앙에 창 띄우기, 도형 , 선 그리기 본문
반응형
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
}
});
}
}
반응형
'두서없는 공부 노트 > JAVA' 카테고리의 다른 글
Day 15 - frame 응용, 도형그리기 ,움직이기(객체지향적 설계) (0) | 2020.09.03 |
---|---|
Day 15 - frame 응용, 도형그리기 ,움직이기 (0) | 2020.09.03 |
Day 14 - 쓰레드를 이용하여 동기화를 수행해보자 (Syncronized) (0) | 2020.09.02 |
Day 14 - 은행계좌를 이용한 간단한 쓰레드 예제 (0) | 2020.09.02 |
Day 14 - 쓰레드 2개를 이용한 게임응용 (0) | 2020.09.02 |
Comments