Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package animacje;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.RenderingHints;
- import java.util.Random;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- public class Animacja extends JPanel implements Runnable
- {
- private static Random random = new Random();
- int cos = 0;
- private int pauza;
- private int kat=0;
- private Thread watek;
- private boolean stop = true;
- private int priorytet;
- private static Color[] tablica_kolorow = {Color.WHITE, Color.BLUE, Color.CYAN, Color.ORANGE, Color.RED, Color.GREEN};
- private static Color nowyKolor(){return tablica_kolorow[random.nextInt(tablica_kolorow.length)];}
- private Color Kolorki = nowyKolor();
- private int zmienna =0;
- private int liczba=0;
- JLabel poka;
- public Animacja(int priorytet,int pauza)
- {
- setPreferredSize(new Dimension(200,200));
- setBackground(Color.WHITE);
- this.pauza=pauza;
- watek = new Thread(this);
- if(priorytet==1){
- watek.setPriority(Thread.MIN_PRIORITY);
- stop = true;
- watek.start();
- }
- if(priorytet==2){
- watek.setPriority(Thread.NORM_PRIORITY);
- stop = true;
- watek.start();
- }
- if(priorytet==3){
- watek.setPriority(Thread.MAX_PRIORITY);
- stop = true;
- watek.start();
- }
- }
- public Animacja getT(){
- return this;
- }
- public void zmiana_prio(int priorytet,int pp){
- this.pauza = pp;
- stop = false;
- watek = new Thread(this);
- if(priorytet==1){
- watek.setPriority(Thread.MIN_PRIORITY);
- stop = true;
- watek.start();
- }
- if(priorytet==2){
- watek.setPriority(Thread.NORM_PRIORITY);
- stop = true;
- watek.start();
- }
- if(priorytet==3){
- watek.setPriority(Thread.MAX_PRIORITY);
- stop = true;
- watek.start();
- }
- }
- public void stop(){
- this.stop = false;
- }
- public void run(){
- poka = new JLabel(" ");
- poka.setBounds(0, 0, 20, 20);
- add(poka);
- while(stop){
- Kolorki = nowyKolor();
- repaint();
- try
- {
- watek.sleep(pauza);
- }
- catch (InterruptedException e)
- {
- throw new RuntimeException(e);
- }
- }
- }
- private void drzewo(Graphics g, int x1, int y1, double kat, int koniec) {
- if (koniec == 0) return;
- int x2 = x1 + (int) (Math.cos(Math.toRadians(kat)) * koniec * 2);
- int y2 = y1 + (int) (Math.sin(Math.toRadians(kat)) * koniec * 2);
- g.drawLine(x1, y1, x2, y2);
- drzewo(g, x2, y2, kat - 20, koniec + 1);
- drzewo(g, x2, y2, kat + 20, koniec + 1);
- }
- public void paintComponent(Graphics gg)
- {
- super.paintComponent(gg);
- Graphics2D g = (Graphics2D) gg;
- g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- g.setColor(Color.BLACK);
- drzewo(g,160,160,kat,zmienna);
- kat+=2;
- if( kat>=360){
- kat=0;
- liczba++;
- poka.setText(String.valueOf(liczba));
- if(zmienna >-16)
- {
- zmienna = zmienna - 1;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement