Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Toolkit;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.Random;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class Serdar extends JPanel implements Runnable {
- private Random r = new Random();
- private static final long serialVersionUID = 1L;
- private ArrayList<Oval> list = new ArrayList<Oval>();
- public static void main(String args[]) {
- JFrame window = new JFrame("Water");
- window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- Serdar serdar = new Serdar();
- Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
- dim.width -= 100; dim.height -= 100;
- serdar.setPreferredSize(dim);
- window.setContentPane(serdar);
- window.pack();
- window.setLocationRelativeTo(null);
- window.setVisible(true);
- }
- public Serdar() {
- super();
- Thread t = new Thread(this);
- t.start();
- }
- public void paint(Graphics g) {
- Iterator<Oval> it = list.iterator();
- g.setColor(Color.WHITE);
- g.fillRect(0, 0, getWidth(), getHeight());
- while( it.hasNext() ) {
- Oval o = it.next();
- if( o.r >= 50 ) {
- it.remove();
- continue;
- }
- g.setColor(o.c);
- o.r += 2;
- g.drawOval(o.x-o.r, o.y-o.r, 2*o.r, 2*o.r);
- }
- }
- public void run() {
- long time = 0;
- while(true) {
- repaint();
- time += 50;
- try {
- Thread.sleep(50);
- } catch (Exception e) {}
- if( time % 300 == 0 ) {
- Color c = new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255));
- list.add(new Oval(r.nextInt(getWidth()), r.nextInt(getHeight()), c));
- }
- }
- }
- private class Oval {
- public Oval(int x, int y, Color c) {
- this.x = x;
- this.y = y;
- this.c = c;
- }
- int x, y, r = 0;
- Color c;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement