Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Graphics;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.util.Random;
- import javax.swing.JComponent;
- import javax.swing.JFrame;
- import javax.swing.Timer;
- public class Mucha extends JComponent
- implements ActionListener, MouseListener{
- protected JFrame kdeSaNachadzam; // ma v sebe JFrame
- protected Timer t; // timer
- protected static int pocitadlo; // spolocny premenna static
- public Mucha(int x, int y, JFrame kdeSaNachadzam) {
- setBounds(x, y, 30, 30);
- this.kdeSaNachadzam = kdeSaNachadzam;
- Random generator = new Random(); //generator pre timer
- t = new Timer(generator.nextInt(201) + 50, this); // kazda ma vlastny timer
- t.start();
- addMouseListener(this); // ak kliknem
- pocitadlo = 0;
- }
- @Override
- protected void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.fillOval(0,0,29,29);
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- Random generator = new Random();
- int x = generator.nextInt(21) - 10; //pohyb muchy po x
- int y = generator.nextInt(21) - 10; // pohyb muchy po y
- setLocation(getX() + x, getY() + y); // nastav x o,nastav y o
- if (getX() < 0) setLocation(0, getY()); // nepustim ju z formulara po x
- if (getY() < 0) setLocation(getX(), 0); // nepustim ju z formulara po y
- if (getX()+50 > kdeSaNachadzam.getWidth()) //vacsia ako sirka formulara
- setLocation(kdeSaNachadzam.getWidth()-50, getY()); // nastavim polohu na formlari
- if (getY()+50 > kdeSaNachadzam.getHeight()) // vacsia ako vyska formulara
- setLocation(getX(), kdeSaNachadzam.getHeight()-50); // nastavim polohu na formlari
- }
- @Override
- public void mouseClicked(MouseEvent me) {}
- @Override
- public void mousePressed(MouseEvent me) {
- t.stop();
- kdeSaNachadzam.remove(this); //odstraneni z formulara
- kdeSaNachadzam.repaint(); // prekleslenie
- pocitadlo++;
- kdeSaNachadzam.setTitle("Pocet chytenych: " + pocitadlo);
- }
- @Override
- public void mouseReleased(MouseEvent me) {}
- @Override
- public void mouseEntered(MouseEvent me) {}
- @Override
- public void mouseExited(MouseEvent me) {}
- }
Add Comment
Please, Sign In to add comment