Aktion während gedrückter Taste

Status
Nicht offen für weitere Antworten.

yeTh7

Mitglied
Hallo!

Ich bin gerade dabei die Basics für ein kleines Spiel zu erlernen. Zu Anfang wollte ich einfach mal ein Bild je nach Tastendruck über das Panel sausen lassen.

Nun stecke ich aber ein bisschen fest.

Soweit meine Überlegungen:
Wenn eine Pfeiltaste gedrückt wird setze ich über keyPressed des KeyListeners eine boolean-Variable (zB. up) auf true. Wenn die Taste losgelassen wird, wird der boolean Wert zurück auf false gesetzt.
Jetzt möchte ich allerdings, dass sich während des Tastendruckes auch was tut, nur wie erreiche ich das?
Läuft die GUI parallel zur keyPressed()-Methode weiter (und nimmt auch ein eventuelles keyReleased() an) so dass ich dort eine Schleife ala "while(up) { do irgendwas }" implementieren kann... ?
Soll ich einen Thread erzeugen der aufgerufen wird wenn eine Taste gedrückt wird und solange läuft wie up true ist... ?

Hmm... gebt mir bitte ein paar Ratschläge, denn reste Lösungsansätze sind bis jetzt gescheitert.

Danke schon mal im Voraus!
 

foobar

Top Contributor
Du hast doch die Lösung schon gefunden: Threads.

Wenn die Gui während der Button gedrückt ist etwas anderes machen soll, pack die andere Aktion einfach in einen Thread und starte den über Swingutilities.invokLater( myThread ).
 

Kiamur

Aktives Mitglied
Hallo!

Vielleicht hilft dir das hier weiter: Ich war vor kurzem auf der Suche nach einem Mechanismus mit dem ich global im Programm Tastatureingaben abfragen konnte. Dabei bin ich in einem englischen Forum auf das hier gestoßen:

Code:
public class MyKeyboardManager extends DefaultKeyboardFocusManager 
{
	public boolean dispatchKeyEvent(KeyEvent e)
	{
		TableController.setKeyPressed(e.isControlDown()); // Das ist meine Aktion, die bei gedrückter STRG taste
// ausgeführt werden soll. Hier musst du dann die Logik für deine Tasten implementieren.
		return super.dispatchKeyEvent(e);
	}
}

In meiner Main-Funktion stehen dann noch diese beiden Zeilen, die den KeyboardManager instanzieren und global aktivieren:

Code:
KeyboardFocusManager kbfm = KeyboardFocusManager.getCurrentKeyboardFocusManager();
		kbfm.addKeyEventDispatcher(new MyKeyboardManager());

Funktioniert wunderbar bei mir. . .

Gruß
Maik
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Swing JCombobox Aktion löscht Grafik AWT, Swing, JavaFX & SWT 1
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
M Aktion ausführen wenn ein JRadiobutton deselektiert wird. AWT, Swing, JavaFX & SWT 3
R Button Aktion AWT, Swing, JavaFX & SWT 3
Crazynet jMenue mit einer Aktion ausstatten AWT, Swing, JavaFX & SWT 8
Z JavaFX Inhalt einer ViewTable durch Aktion einer Menubar ändern welche in einer anderen fxml ist AWT, Swing, JavaFX & SWT 4
B Nach dem Öffnen des Dialogs eine Aktion ausführen. AWT, Swing, JavaFX & SWT 6
Z Swing Wenn JFrame inaktiv - Soundbenachrichtigung bei Aktion AWT, Swing, JavaFX & SWT 2
L SWT Drop erfolgreich, aber GUI-Aktion abgebrochen AWT, Swing, JavaFX & SWT 4
N JCombobox und Actionlistener Aktion nur ausführen, wenn Useraktion ihn auslöst AWT, Swing, JavaFX & SWT 4
C Button und aktion? AWT, Swing, JavaFX & SWT 15
J SWT Globale Refresh-Aktion programmtechnisch aufrufen AWT, Swing, JavaFX & SWT 6
O JList + ValueChanged = doppelte Aktion?! AWT, Swing, JavaFX & SWT 4
Semox Swing JMenuItem-Auswahl mit Aktion ausführen AWT, Swing, JavaFX & SWT 4
C Aktion durchführen bei Klick auf ein Element im JTree (Untersch. Klick und Doppklick) AWT, Swing, JavaFX & SWT 5
A Aktion einem Button anfügen AWT, Swing, JavaFX & SWT 2
W Beim Schliessen Aktion ausführen AWT, Swing, JavaFX & SWT 2
S Aktion nach dialogstart AWT, Swing, JavaFX & SWT 2
G Bei Änderung an einem Texfeld in SWT eine Aktion AWT, Swing, JavaFX & SWT 3
R CheckBox drücken, sodass eine Aktion ausgeführt wird AWT, Swing, JavaFX & SWT 5
A Aktion beim anklicken einer Zeile in einer Tabelle ausführen AWT, Swing, JavaFX & SWT 4
C Aktion nach Auswahl einer Checkbox AWT, Swing, JavaFX & SWT 6
C Aktion auführen nach Doppelklick auf Zeile in JTable AWT, Swing, JavaFX & SWT 10
C Aktion beim Anzeigen eines Tabs der JTabbedPane AWT, Swing, JavaFX & SWT 3
bernd Jlist, aktion auslösen AWT, Swing, JavaFX & SWT 22
G Aktion beim Öffnen und Schliessen eines JInternalFrames AWT, Swing, JavaFX & SWT 4
J Aktion bei Click auf Blatt auslösen AWT, Swing, JavaFX & SWT 6
H JItem während der Programmlaufzeit verändern AWT, Swing, JavaFX & SWT 8
G JavaFX BarChart während der Runtime aktualisieren AWT, Swing, JavaFX & SWT 4
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
S JavaFX ListView Inhalte während Laufzeit ändern AWT, Swing, JavaFX & SWT 23
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
M JavaFX Absoluter Fokus während drag Event AWT, Swing, JavaFX & SWT 10
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
T JProgressbar während actionListener updaten AWT, Swing, JavaFX & SWT 1
T Timer und GIF Animationen pausieren während Maus sich bewegt AWT, Swing, JavaFX & SWT 4
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
F JavaFX Timeline Animation soll X- und Y-Position während Animation ändern AWT, Swing, JavaFX & SWT 2
B 3D-Grafik Java 3D Licht während Laufzeit ändern AWT, Swing, JavaFX & SWT 0
Joew0815 Dropdown meue während der Laufzeit ändern. AWT, Swing, JavaFX & SWT 6
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6
H jprogressbar während datenabfrage anzeigen AWT, Swing, JavaFX & SWT 5
B ProgressBar während Berechnung AWT, Swing, JavaFX & SWT 4
M Swing JList Item in andere JList während Ausführung AWT, Swing, JavaFX & SWT 4
M JLabel aktualsisieren während Verarbeitung AWT, Swing, JavaFX & SWT 12
E Buttons während einer Berechnung deaktivieren AWT, Swing, JavaFX & SWT 6
D JTable Mausevents, während editiert wird AWT, Swing, JavaFX & SWT 5
T Swing JFrame blockieren während anderes JFrame offen ist AWT, Swing, JavaFX & SWT 2
R Wie Vorgehen bei fundamentaler Veränderung des Layouts während des Programmablaufs? AWT, Swing, JavaFX & SWT 19
S Programm pausieren während JDialog offen ist AWT, Swing, JavaFX & SWT 2
X Tabelle während Funktionsaufruf aktualisieren AWT, Swing, JavaFX & SWT 11
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
J Lazy Loading eine JTree während Scrollen AWT, Swing, JavaFX & SWT 11
R GUI hängt während Programm läuft AWT, Swing, JavaFX & SWT 7
P repaint während Thread läuft AWT, Swing, JavaFX & SWT 9
S Swing Während Frame verschoben wird... AWT, Swing, JavaFX & SWT 2
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
T Swing Dialoginhalt automatisch anpassen während Größenänderung AWT, Swing, JavaFX & SWT 2
D Swing Anzeige während eines Ladevorganges AWT, Swing, JavaFX & SWT 6
O Swing es können keine neuen Labels hinzufügt werden während der Timer läuft AWT, Swing, JavaFX & SWT 14
S Java3D: Alle Objekte in BranchGroup löschen während Laufzeit AWT, Swing, JavaFX & SWT 3
D JTable während edit kein update machen lassen AWT, Swing, JavaFX & SWT 2
M SWT Mutter-Shell blocken während Tochter-Shell noch offen ist AWT, Swing, JavaFX & SWT 6
S Swing DnD: Image während Drag-Operation ändern AWT, Swing, JavaFX & SWT 3
M Swing JTable während Laufzeit beschreiben AWT, Swing, JavaFX & SWT 14
S Objekt wird während Endlosschleife nur einmal bewegt AWT, Swing, JavaFX & SWT 2
O Zeichnene auf ein Jpanel während der Laufzeit des Programms AWT, Swing, JavaFX & SWT 2
J GUI (JTable) während Rekursion aktualisieren AWT, Swing, JavaFX & SWT 4
M Erzeugen von Komponenten während der Laufzeit AWT, Swing, JavaFX & SWT 6
S Methode während ihrer Laufzeit abbrechen AWT, Swing, JavaFX & SWT 6
P GUI-Updaten während eines externen Prozesses AWT, Swing, JavaFX & SWT 2
C jComboBox während eingabe kontextabhängig vorausfüllen AWT, Swing, JavaFX & SWT 3
DeeDee0815 LookAndFeel während der Laufzeit verstellen AWT, Swing, JavaFX & SWT 4
G Wie Fenstergröße während Fenstergrößenänderung auslesen? AWT, Swing, JavaFX & SWT 2
F Aktualisierung während MOUSE_PRESSED AWT, Swing, JavaFX & SWT 4
D Widget/Control während Laufzeit durch ein anderes ersetzen AWT, Swing, JavaFX & SWT 3
E JTable-während der Einfügezeit der Zellen in die Table AWT, Swing, JavaFX & SWT 2
B JButton während der Laufzeit in JLabel umwandeln AWT, Swing, JavaFX & SWT 3
P JTextArea veränder Größe während Laufzeit; GridBagLayout AWT, Swing, JavaFX & SWT 8
Redfrettchen JTextArea während einer DocumentListener Notification ändern AWT, Swing, JavaFX & SWT 5
D JComponets während der Laufzeit in ein Panel einfügen AWT, Swing, JavaFX & SWT 2
K Syntaxhighlight während der Texteingabe AWT, Swing, JavaFX & SWT 11
B Kein Repaint während eines Prozesses. AWT, Swing, JavaFX & SWT 5
D JTable Header während Laufzeit ändern. AWT, Swing, JavaFX & SWT 3
L JTable - Button Speichern während des Editieren AWT, Swing, JavaFX & SWT 3
S LaF - switcht erst während des Runs auf System.LaF AWT, Swing, JavaFX & SWT 2
M während der Roboter arbeitet sollte man sich raushalten. AWT, Swing, JavaFX & SWT 6
m@nu Dialog während warten anzeigen AWT, Swing, JavaFX & SWT 3
M GUI Update während der Verarbeitung einer Methode AWT, Swing, JavaFX & SWT 3
G Textfeldgröße während Eingabe ändern AWT, Swing, JavaFX & SWT 4
M In einem JFrame Menüs & . während der Laufzeit verändern AWT, Swing, JavaFX & SWT 6
L Constraints während der Laufzeit verändern AWT, Swing, JavaFX & SWT 7
D JTable Spalten mit Namen während der Programmlaufzeit hinzuf AWT, Swing, JavaFX & SWT 5
C Gedrückter Button in andere Klasse übergeben AWT, Swing, JavaFX & SWT 5
M Kreis mit gedrückter Maus bewegen AWT, Swing, JavaFX & SWT 20
J button verschieben mit gedrückter (linker) maustaste AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben