Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package zad_I5_zaj4;
- import java.awt.Graphics;
- import java.util.Random;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.swing.*;
- /**
- *
- * @author kprzyby
- */
- abstract class LatajacyObiekt extends Thread {
- PanelWygaszacza gdzieMamLatac;
- int x,y; //wspolrzedne
- int maxX, maxY, minX, minY;
- LatajacyObiekt(PanelWygaszacza g)
- {
- this.gdzieMamLatac = g;
- maxX = gdzieMamLatac.getBounds().width;
- maxY = gdzieMamLatac.getBounds().height;
- minX = 20;
- minY = 20;
- }
- public void run()
- {
- Random losowanie = new Random();
- while(true)
- {
- x = minX + losowanie.nextInt(maxX+1-minX);
- y = minY + losowanie.nextInt(maxY+1-minY);
- gdzieMamLatac.repaint();
- try {
- sleep(1000);
- } catch (Exception ex) {}
- }
- }
- abstract void rysuj(Graphics g);
- }
- class LatajacyTekst extends LatajacyObiekt
- {
- String tekst;
- LatajacyTekst(String tekst, PanelWygaszacza g)
- {
- super(g);
- this.tekst = tekst;
- }
- public void rysuj(Graphics g){
- g.drawString(tekst, x, y);
- }
- }
- class LatajaceKolo extends LatajacyObiekt
- {
- int r;
- LatajaceKolo(int r, PanelWygaszacza g)
- {
- super(g);
- this.r = r;
- }
- public void rysuj(Graphics g){
- g.drawOval(x, y, r, r);
- }
- }
- class PanelWygaszacza extends JPanel
- {
- Wygaszacz okno;
- PanelWygaszacza(Wygaszacz wygaszacz)
- {
- this.okno = wygaszacz;
- }
- protected void paintComponent(Graphics g)
- {
- super.paintComponent(g);
- for(LatajacyObiekt t : okno.tablicaTekstow)
- {
- //g.drawString(t.tekst, t.x, t.y);
- t.rysuj(g);
- }
- }
- }
- public class Wygaszacz extends JFrame
- {
- PanelWygaszacza panel;
- LatajacyObiekt tablicaTekstow[];
- private void init()
- {
- panel = new PanelWygaszacza(this);
- add(panel);
- setSize(500, 300);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- setVisible(true);
- setTitle("Moj Wygaszacz");
- tablicaTekstow = new LatajacyObiekt[]
- {
- new LatajacyTekst("Cokolwiek", panel),
- new LatajaceKolo(30, panel),
- new LatajacyTekst("Fruwam", panel)
- };
- for(LatajacyObiekt tekst : tablicaTekstow)
- {
- tekst.start();
- }
- }
- public static void main(String args[])
- {
- Wygaszacz wygaszacz = new Wygaszacz();
- wygaszacz.init();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement