rendered paste bodyimport java.awt.*;
import javax.swing.*;
public class Zoga{
public static void main(String[] args){
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
JFrame okno = new JFrame();
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Vsebina vsebinaOkna = new Vsebina();
vsebinaOkna.setBackground(new Color(255, 255, 255));
vsebinaOkna.setPreferredSize(new Dimension(d.width, d.height));
for (int i=0;i<32;i++){
vsebinaOkna.radij[i]=30;
// iks[i]=0;
// ips[i]=0;
}
okno.getContentPane().add(vsebinaOkna, BorderLayout.CENTER);
okno.pack();
okno.setVisible(true);
Animacija lolz = new Animacija(10,10,1);
lolz.run(vsebinaOkna);
Animacija rofl = new Animacija(1,1,2);
rofl.run(vsebinaOkna);
}
}
class Vsebina extends JPanel{
/**
*
*/
private static final long serialVersionUID = -7226071297631662428L;
public int[] radij=new int[32];
public int[] iks=new int[32];
public int[] ips=new int[32];
public int p;
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.red);
for(int j=0;j<=3;j++)
g.fillOval(iks[j]-radij[j],ips[j]-radij[j],2*radij[j],2*radij[j]);
}
}
class Animacija extends Thread {
int xhitrost;
int yhitrost;
int parameter;
Animacija(int xhitrost, int yhitrost, int parameter){
this.xhitrost=xhitrost;
this.yhitrost=yhitrost;
this.parameter=parameter;
}
public void run(Vsebina panel) {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
boolean naprej=true;
boolean dol=true;
panel.p=parameter;
System.out.println(parameter);
while(true) {
if (panel.iks[parameter]-panel.radij[parameter]<=0)
naprej=true;
if (panel.iks[parameter]+panel.radij[parameter]>=panel.getWidth())
naprej=false;
if (naprej)
panel.iks[parameter]+=xhitrost;
else
panel.iks[parameter]-=xhitrost;
if (panel.ips[parameter]-panel.radij[parameter]<=0)
dol=true;
if (panel.ips[parameter]+panel.radij[parameter]>=panel.getHeight())
dol=false;
if(dol)
panel.ips[parameter]+=yhitrost;
else
panel.ips[parameter]-=yhitrost;
panel.repaint();
try {
Thread.sleep(20);
}
catch (InterruptedException ex) {
}
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
}