일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- brotli
- 리얼월드HTTP
- 워드프레스
- i18n
- 알고리즘
- etag
- 지수반등
- 개미수열
- 이렇게살아야되나자괴감이
- Spring
- 지뢰찾기
- HTTP
- 코드스피츠
- 클래스레벨밸리데이션
- cross parameter
- Kotlin
- jsr380
- 알게뭐냐
- jsr303
- 스프링
- LastModified
- 랜선아미안해
- cache-control
- kotliln
- 브로틀리
- Today
- Total
취미개발 블로그와 마음수양
눈 내리는 자바 소스 본문
알록달록한 공임;;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
/**
* Created by USER on 2014-08-13.
*/
public class SnowRect extends JFrame {
Rect canvas;
int y=30;
final static int x = 900;
boolean flag=true;
ArrayList<Ball> ballList = new ArrayList<Ball>();
public SnowRect() throws HeadlessException {
setTitle("hi");
canvas = new Rect();
JButton button = new JButton("click");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("버튼 출력");
for (int i = 0; i < 5; i++) {
ballList.add(new Ball());
}
if(flag){
Thread myThread = new Thread(canvas);
myThread.start();
flag=false;
}else{
}
}
});
add(canvas, BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(x, 500);
}
public static void main(String[] args) {
new SnowRect();
}
class Rect extends Canvas implements Runnable{
Rect() {
ballList.add(new Ball());
}
@Override
public void paint(Graphics g) {
super.paint(g);
for (int i = 0; i < ballList.size(); i++) {
g.fillOval(ballList.get(i).x, ballList.get(i).y, 25, 25);
int[] color = new int[3];
color[0] = (int)(Math.random()*255);
color[1] = (int)(Math.random()*255);
color[2] = (int)(Math.random()*255);
Color c = new Color(color[0], color[1], color[2]);
g.setColor(c);
}
}
@Override
public void run() {
while(true){
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
for(int i=0;i<ballList.size();i++){
ballList.get(i).plusY();
repaint();
}
}
}
}
class Ball{
int x;
int y;
Ball() {
this.x= (int)(Math.random()*900);
y=20+(int)(Math.random()*10);
}
public void plusY(){
if(y<=490){
y+=10;
}
if((int)Math.random()*2 ==0){
x+=5;
}else{
x-=5;
}
}
}
}
'Language' 카테고리의 다른 글
javax.annotation.meta.When not found (0) | 2019.04.08 |
---|---|
Java beans, VO, DTO, POJO (0) | 2016.10.08 |
자바 enum (0) | 2014.08.04 |
날짜 오늘 날짜 변환 공식 (0) | 2014.06.06 |
ip주소 중간중간에 하트로표시해주기. (0) | 2014.05.31 |