Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //wariant 13
- package jpp;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import java.awt.Graphics;
- import java.awt.Polygon;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- public class zaliczenie extends JFrame{
- MyComponent komponent;
- int MAXN=100;
- int n=0;
- Timer timer;
- int alfa = 0;
- int [] xtab=new int[MAXN];
- int [] ytab=new int[MAXN];
- class MyComponent extends JComponent{
- @Override
- protected void paintComponent(Graphics g) {
- int w=getWidth();
- int h=getHeight();
- int x=0,y=0;
- int a=w/2;
- int b=h/2;
- if(a<b)
- b=a;
- else
- a=b;
- int c=(int)Math.round(Math.PI*a/2.0);
- int obw=a+b+c;
- g.drawLine(w/4, h/4, w/4+a, h/4);
- g.drawLine(w/4, h/4, w/4, h/4+a);
- g.drawArc(w/4-a, h/4-a, a*2, a*2, 270, 90);
- int na=MAXN*a/obw;
- int nb=MAXN*b/obw;
- int nc=MAXN-na-nb;
- if(n<na){
- x=w/4+a*n/na;
- y=h/4;
- }
- else if(n<na+nc){
- double kat=Math.PI/2.0*(n-na)/nc;
- x=w/4+(int)Math.round(a*Math.cos(kat));
- y=h/4+(int)Math.round(a*Math.sin(kat));
- }else{
- x=w/4;
- y=h*3/4-b*(n-na-nc)/nb;
- }
- g.fillOval(x-6, y-6, 12, 12);
- g.setColor(Color.BLACK);
- super.paintComponent(g);
- }
- }
- public zaliczenie(String string) {
- super(string);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- Toolkit kit=Toolkit.getDefaultToolkit();
- Dimension d=kit.getScreenSize();
- setBounds(d.width/4, d.height/4, d.width/2, d.height/2);
- add(komponent=new MyComponent());
- timer=new Timer(20,new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- n++;
- if(n>=MAXN)
- n-=MAXN;
- komponent.repaint();
- }
- });
- timer.start();
- setVisible(true);
- }
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- @Override
- public void run() {
- new zaliczenie("Wariant 13");
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement