Hi,
hab mit Hilfe einiger Personen einen Aufzug programmiert aber ein Problem hab ich noch. Ab einer bestimmten position "fährt" er von allein ins unendlich.... wo und wie kann ich ihm sagen stop halt hier! Danke für eure Hilfe.
hab mit Hilfe einiger Personen einen Aufzug programmiert aber ein Problem hab ich noch. Ab einer bestimmten position "fährt" er von allein ins unendlich.... wo und wie kann ich ihm sagen stop halt hier! Danke für eure Hilfe.
Code:
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
public class Aufzugtop extends Applet implements ActionListener
{
private Button steigen, sinken;
private Aufzug meinAufzug;
public void init()
{
steigen = new Button("Hinauf");
add(steigen);
steigen.addActionListener(this);
sinken = new Button ("Hinunter");
add(sinken);
sinken.addActionListener(this);
meinAufzug = new Aufzug(20, 250, 250);
}
public void actionPerformed(ActionEvent event)
{
steigen.setEnabled( false );
sinken.setEnabled( false );
final int delta = event.getSource() == steigen ? -5 : 5;
Thread thread = new Thread(){
public void run(){
do{
meinAufzug.groesseVeraendern( delta );
repaint();
try {
Thread.sleep( 100 );
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
while(meinAufzug.getHoehe() > 30 && meinAufzug.getHoehe() >10);
steigen.setEnabled( true );
sinken.setEnabled( true );
}
};
thread.start();
}
public void paint (Graphics g)
{
meinAufzug.anzeigen(g);
setBackground(Color.red);
}
}
class Aufzug
{
private int Hoehe;
private int xKoord, yKoord;
int a=100;
int b=150;
public Aufzug(int anfangsHoehe, int anfangsX, int anfangsY)
{
Hoehe=anfangsHoehe;
xKoord=anfangsX;
yKoord=anfangsY;
}
public void groesseVeraendern(int veraenderung)
{
Hoehe=Hoehe+veraenderung;
}
public void anzeigen(Graphics g)
{
g.setColor(Color.blue);
g.fillRect(xKoord,Hoehe,a,b);
}
public int getHoehe(){
return Hoehe;
}
}