Motor mit Tastatur ansteuern

Xerses

Mitglied
Hallo zusammen,

ich programmiere zur Zeit einen Roboterarm, der über die LPT-Schnittstelle angesteuert wird.
Ich bin jetzt soweit, dass ich einem Motor sagen kann das er eine Drehung in die eine oder andere richgtung machen soll.

Jetzt möchte ich aber mit einem JFrame und der Tastatur, den Robotor ansteuern. Das heist, wenn ich z.B. auf eine der Pfeiltasten klicke, soll der Motor solange arbeiten, wie ich die Taste gedrückt halte.

Mein Problem ist jetzt das ich nicht weis wie ich Tastatuereignisse Programmiere. Ich benutze
NetBeans IDE, da hab ich es jetzt geschafft ein KeyPressed ereignis zu erstellen, weis aber nicht ob dies richtig für meine Zwecke ist.

Da zähle ich jetzt auf eure Hilfe 🙂

Danke im Voraus

Gruß
Xerses

Java:
private void formKeyPressed(java.awt.event.KeyEvent evt) {
        
    }
 
keyPressed(KeyEvent) und keyReleased(KeyEvent) sollten dir helfen. Ich weiß gerade nicht, an welchen Komponenten man einen KeyListener registrieren kann, aber das ist mit Trial and Error oder einer Suchmaschine sicher kein Problem 🙂

Wenn du weitere Probleme hast, wäre dein bisheriger Code bestimmt hilfreich.
 
Hast du dazu irgendwelche Tutorials oder die du auch empfehlen könntest? ^^

Würde mich jetzt spontan auch ein bißchen Interessieren 😉...
 
@Xerses:
Was ist bei dir unklar? Wie du Tastaturereignisse über deinen JFrame abfangen und verarbeiten kannst, oder wie du sie an deinen Roboter weiterleiten kannst?
 
Du bist so gut wie korrekt damit.
private void formKeyPressed(java.awt.event.KeyEvent evt) {
}

das KeyEvent evt liefert dir den Tastencode für die Taste, die du gedrückt hast. Nun machst du einen vergleich, ob es die Taste ist, die du willst.

Also
private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_UP)
roboter.laufenNachVorne();
}
 
Java:
Du bist so gut wie korrekt damit.
private void formKeyPressed(java.awt.event.KeyEvent evt) {
}

das KeyEvent evt liefert dir den Tastencode für die Taste, die du gedrückt hast. Nun machst du einen vergleich, ob es die Taste ist, die du willst.

Also
private void formKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_UP)
roboter.laufenNachVorne();
}
Vielen Dank Meldanor, genau das wollte ich wissen.

@Aldimann
Tutorials hab und kenn ich leider nicht
 

Zurück
Oben