Mam dany taki program, który potrzebuję w wersji aplikacji. Teoretycznie wiem czym się różnią aplet i aplikacja, ale praktycznie nie wiem jak mam przerobić kod.
Dziękuję z góry za wszelką pomoc.
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.geom.*;
class Kulka extends Ellipse2D.Float
{
Pole plansza;
int dx,dy;
Kulka(Pole plansza,int x,int y,int dx,int dy)
{
this.x=x;
this.y=y;
this.width=10;
this.height=10;
this.plansza=plansza;
this.dx=dx;
this.dy=dy;
}
void nextKrok()
{
x+=dx;
y+=dy;
if(getMinX()<0 || getMaxX()>plansza.getWidth()) dx=-dx;
if(getMinY()<0 || getMaxY()>plansza.getHeight()) dy=-dy;
plansza.repaint();
}
}
class SilnikKulki extends Thread
{
Kulka a;
SilnikKulki(Kulka a)
{
this.a=a;
start();
}
public void run()
{
try
{
while(true)
{
a.nextKrok();
sleep(15);
}
}
catch(InterruptedException e){}
}
}
class Belka extends Rectangle2D.Float
{
Belka(int x)
{
this.x=x;
this.y=170;
this.width=60;
this.height=10;
}
void setX(int x)
{
this.x=x;
}
}
class Pole extends JPanel implements MouseMotionListener
{
Belka b=new Belka(100);
Kulka a=new Kulka(this,100,100,1,1);
Pole()
{
super();
addMouseMotionListener(this);
new SilnikKulki(a);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d=(Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g2d.fill(a);
g2d.fill(b);
}
public void mouseMoved(MouseEvent e)
{
b.setX(e.getX()-50);
repaint();
}
public void mouseDragged(MouseEvent e)
{
}
}
public class Gra extends JApplet
{
public void init()
{
setContentPane(new Pole());
}
}