import java.awt.*; import java.text.*; public class Boll extends Container implements Runnable { private Thread aktivitet; int r, x0, y0; int xSteg, ySteg; String col; /********************************************** *Konstruktor. ***********************************************/ public Boll(int radie, int x, int y, int xHast, int yHast, String col) { r = radie; xSteg = xHast; ySteg = yHast; x0 = x; y0 = y; this.col = col; }//konstructor /********************************************************** * Metoder som startar och stoppar bollar. ************************************************************/ public void start() { if (aktivitet == null) { aktivitet = new Thread(this); aktivitet.start(); }//if }//start public void stop() { if (aktivitet != null) { aktivitet.interrupt(); aktivitet = null; }//if }//stop public void run() { while (aktivitet != null) { try { Thread.sleep(50); }//try catch (InterruptedException ie) { System.out.println("TRĂ…DTRASSEL: "); System.err.println(ie.getMessage()); }//catch if (x0-r+xSteg < 0 || x0+r+xSteg > getSize().width) xSteg = -xSteg; x0 += xSteg; if (y0-r+ySteg < 0 || y0+r+ySteg > getSize().height) ySteg = -ySteg; y0 += ySteg; repaint(); }//while }//run public int getXSteg () { return xSteg; }//getXSteg public int getYSteg () { return ySteg; }//getYSteg public int getX0 () { return x0; }//getX0 public int getY0 () { return y0; }//getY0 public void paint (Graphics g) { if (col == "bb") { g.setColor(Color.blue); }//if else { g.setColor(Color.red); }//else g.fillOval(x0-r, y0-r, 2*r, 2*r); }//paint }//Boll