Hee mensen ik zit met een probleem,
ik heb een lift die omhoog moet gaan nadat ik op een knop geklikt heb.
Dus mijn GUI bevat het volgende stukje code:
Dus als ik op een knop druk gaat in class liftMotor de methode draairechts() lopen deze moet vervolgens in myCanvas weer de methode rechts() aanroepen en in liftMotor staat dus mc.rechts();.
in princiepe werkt het allemaal, maar er gaat iets mis.
Hij moet namelijk 60 pixeljes omhoog dus ik doe
en in myCanvas staat dan :
nu verwacht ik dus dat als ik op de knop geklikt heb, dat de lift stapje voor
stapje omhoog gaat, nou niets is minder waar. Hij wacht dus gewoon
60x100ms en repaint dan pas.
hier nog even de paint methode:
snap jij het dan snap ik het .. maar ik snap het niet ..
ik heb een lift die omhoog moet gaan nadat ik op een knop geklikt heb.
Dus mijn GUI bevat het volgende stukje code:
Java:
1
2
3
4
5
6
7
8
9
10
| class ActionHandler implements ActionListener // actie behandelaar neem alles van action luisteraar mee { public void actionPerformed(ActionEvent e) // als actie uitgevoerd { String action = e.getActionCommand(); // maak string van actie if(action.equals("level 0")) lm.draairechts(); // vergelijk string en op basis daarvan actie in myCanvas doen else if(action.equals("level 1")) lm.draairechts(); //even allemaal de zelfde functie in verband met test fase else if(action.equals("level 2")) lm.draairechts(); } } |
Dus als ik op een knop druk gaat in class liftMotor de methode draairechts() lopen deze moet vervolgens in myCanvas weer de methode rechts() aanroepen en in liftMotor staat dus mc.rechts();.
in princiepe werkt het allemaal, maar er gaat iets mis.
Hij moet namelijk 60 pixeljes omhoog dus ik doe
Java:
1
2
3
4
5
| mc.rechts(); try{ Thread.sleep(400); } catch(InterruptedException ie) {} |
en in myCanvas staat dan :
Java:
1
2
3
4
5
| public void rechts() { yKooi = yKooi -1; repaint(); } |
nu verwacht ik dus dat als ik op de knop geklikt heb, dat de lift stapje voor
stapje omhoog gaat, nou niets is minder waar. Hij wacht dus gewoon
60x100ms en repaint dan pas.
hier nog even de paint methode:
Java:
1
2
3
4
5
6
7
8
9
| public void paint(Graphics g) { g.setColor(Color.ORANGE); g.fillRect(xBuild,yBuild,wBuild,hBuild); g.setColor(Color.BLUE); g.drawRect(xKooi,yKooi,wKooi,hKooi); g.setColor(Color.YELLOW); g.fillRect(xKooi,yKooi,wKooi,hKooi); } |
snap jij het dan snap ik het .. maar ik snap het niet ..
[ Voor 4% gewijzigd door intrix op 09-12-2003 15:26 ]
welcome my son, welcome to the machine