2 Tasten Gleichzeitig regestrieren

TheSorm

Bekanntes Mitglied
also ich habe ein frame mit folgendem KeyEventDispatcher :

Java:
	private class KeyDispatcher implements KeyEventDispatcher {
		
		@Override
		public boolean dispatchKeyEvent(KeyEvent e) {
			
			System.out.println(e);
			
			if(e.getID() == KeyEvent.KEY_PRESSED) {
				
				if(e.getKeyCode() == 90 && e.getKeyCode() == 17) {
					System.out.println("ja");
					
				}
			}
				return false;
		}
	}

Ich will jetzt das wenn beide Tasten zusammengedrüclt werden der if block ausgelöst wirt aber klarerweiße kann e nicht beides gleichzeitig sein also wie mach ich das ?
 

kaoZ

Top Contributor
Frage am Rande , warum kein switch wenn du schon mit der Id, also Integern arbeitest ? :)

hab es jetzt nicht probiert aber dann könntest du denke ich auch

folgenden case definieren

Java:
case 90 && 17:
  //Do your thing
break;
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

es geht hier die Tastenkombination <Crtl><Z>, richtig?

Da könntest Du eine Accelerator setzen:
Java:
myButton.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK) );
Das geht aber natürlich nur in Verbindung mit den Tasten <CTRL>, <ALT> und <SHIFT> !!

Gruß
Klaus
 

Androbin

Bekanntes Mitglied
Und wie macht man das für einen KeyListener? Also dann, wenn es nicht um einen Button, sondern um einen x-beliebigen anderen Befehl geht!
 

TheSorm

Bekanntes Mitglied
Das ist eine Methode mit array wo die einzelnen Tasten dann auf true gesetzt werden wenn sie gedrückt sind.

Java:
package Handlers;

import java.awt.event.KeyEvent;

// this class contains a boolean array of current and previous key states
// for the 10 keys that are used for this game.
// a key k is down when keyState[k] is true.

public class Keys {
  
  public static final int NUM_KEYS = 16;
  
  public static boolean keyState[] = new boolean[NUM_KEYS];
  public static boolean prevKeyState[] = new boolean[NUM_KEYS];
  
  public static int UP = 0;
  public static int LEFT = 1;
  public static int DOWN = 2;
  public static int RIGHT = 3;
  public static int BUTTON1 = 4;
  public static int BUTTON2 = 5;
  public static int BUTTON3 = 6;
  public static int BUTTON4 = 7;
  public static int ENTER = 8;
  public static int ESCAPE = 9;
  
  public static void keySet(int i, boolean b) {
    if(i == KeyEvent.VK_W) keyState[UP] = b;
    else if(i == KeyEvent.VK_A) keyState[LEFT] = b;
    else if(i == KeyEvent.VK_S) keyState[DOWN] = b;
    else if(i == KeyEvent.VK_D) keyState[RIGHT] = b;
    else if(i == KeyEvent.VK_SPACE) keyState[BUTTON1] = b;
    else if(i == KeyEvent.VK_SHIFT) keyState[BUTTON2] = b;
    else if(i == KeyEvent.VK_E) keyState[BUTTON3] = b;
    else if(i == KeyEvent.VK_F) keyState[BUTTON4] = b;
    else if(i == KeyEvent.VK_ENTER) keyState[ENTER] = b;
    else if(i == KeyEvent.VK_ESCAPE) keyState[ESCAPE] = b;
  }
  
  public static void update() {
    for(int i = 0; i < NUM_KEYS; i++) {
      prevKeyState[i] = keyState[i];
    }
  }
  
  public static boolean isPressed(int i) {
    return keyState[i] && !prevKeyState[i];
  }
  
  public static boolean anyKeyPress() {
    for(int i = 0; i < NUM_KEYS; i++) {
      if(keyState[i]) return true;
    }
    return false;
  }
  
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
jaleda100 KeyCode – zwei Tasten gleichzeitig Java Basics - Anfänger-Themen 2
C Mehrere Tasten beim KeyListener gleichzeitig lesen Java Basics - Anfänger-Themen 2
K Key Listener bei 2 gleichzeitig gedrückten tasten Java Basics - Anfänger-Themen 3
S Zwei Tasten gleichzeitig für Aktion Java Basics - Anfänger-Themen 2
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
T Tasten vom Taschenrechner? Java Basics - Anfänger-Themen 3
N Programm - Tasten aktivieren Java Basics - Anfänger-Themen 4
L ausführen per Tasten druck Java Basics - Anfänger-Themen 15
B gedrückte Tasten abfragen Java Basics - Anfänger-Themen 11
G Tasten in GUI-Applet benutzen Java Basics - Anfänger-Themen 3
J Tasten überprüfen Java Basics - Anfänger-Themen 2
D wie kann ich deutschen Tasten einen KeyCode zuweisen? Java Basics - Anfänger-Themen 2
T Tastatur Tasten Senden Java Basics - Anfänger-Themen 4
G Wie 2 Tasten zusammen drücken? Java Basics - Anfänger-Themen 4
G Auf 2 Tasten reagieren Java Basics - Anfänger-Themen 10
P 3-Tasten-Hotkey-Kombination Java Basics - Anfänger-Themen 5
J Courser-Tasten Java Basics - Anfänger-Themen 9
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Referenzen zuweisen und wird gleichzeitig ausgeführt Java Basics - Anfänger-Themen 6
CptK Interface 2 von einander unabhängige Frames mit Panel gleichzeitig nutzen Java Basics - Anfänger-Themen 66
E Mehrere Eingabezeilen gleichzeitig einlesen Java Basics - Anfänger-Themen 7
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
A Python und Java gleichzeitig lernen? Java Basics - Anfänger-Themen 5
B Threads 2 Threads gleichzeitig laufen lassen Java Basics - Anfänger-Themen 1
M Threads Threads laufen sequenziell, statt gleichzeitig. Java Basics - Anfänger-Themen 9
R Zwei Attribute gleichzeitig ausgeben Java Basics - Anfänger-Themen 12
T Mehrere JFrames gleichzeitig öffnen Java Basics - Anfänger-Themen 6
M Methoden zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
O Methoden 3 Methoden gleichzeitig laufen lassen in der Console Java Basics - Anfänger-Themen 2
L zwei Variablen gleichzeitig übergeben Java Basics - Anfänger-Themen 6
M Threads, zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
M Klassen Auf Alle Array Methoden gleichzeitig zugreifen Java Basics - Anfänger-Themen 8
N Client soll mehrere Antworten von Servern gleichzeitig empfangen Java Basics - Anfänger-Themen 8
P Mehrere Schleifen gleichzeitig Java Basics - Anfänger-Themen 11
J Werte an Methode übergeben und gleichzeitig ActionPerformed einbeziehen. Java Basics - Anfänger-Themen 14
H Wieviele Objekte gleichzeitig sind sinnvoll? Java Basics - Anfänger-Themen 4
maddin86 3 Dateien gleichzeitig speichern in dynamisches Benutzerverzeichnis (Windows) Java Basics - Anfänger-Themen 4
sylo Bekomme Thread nicht gleichzeitig gestartet. Java Basics - Anfänger-Themen 12
M Mehrere Variablen gleichzeitig ändern Java Basics - Anfänger-Themen 11
T Mehrere Variablen gleichzeitig initialisieren Java Basics - Anfänger-Themen 2
M 2 Methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 2
G Methoden gleichzeitig ausführen Java Basics - Anfänger-Themen 1
M JTextField mit MaxLimit u. Integerval. gleichzeitig? Wie? Java Basics - Anfänger-Themen 2
G Regulärer Ausdruck: gefunden und gleichzeitig nicht gefunden Java Basics - Anfänger-Themen 5
Z mehrere "idente" Timertasks gleichzeitig abarbeite Java Basics - Anfänger-Themen 3
F Ausgabe über Konsole und Logfile gleichzeitig Java Basics - Anfänger-Themen 12
A Klassen und gleichzeitig zeichnen Java Basics - Anfänger-Themen 15
N Mehrere Werte gleichzeitig in ein Array schreiben? Java Basics - Anfänger-Themen 7
G kann ein Objekt an zwei Orten gleichzeitig existieren? Java Basics - Anfänger-Themen 3
S Verarbeitung 2er KeyEvents gleichzeitig Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben