Der PHP-Editor Xiaoxin stellt Ihnen heute vor, wie Sie den Schlüssel von ActionMap erhalten. Beim Schreiben von PHP-Programmen verwenden wir häufig assoziative Arrays (auch Wörterbücher genannt), und ActionMap ist ein gängiges assoziatives Array. Indem wir den Schlüssel verwenden, um den entsprechenden Wert zu erhalten, können wir eine flexiblere Datenverarbeitung und Logiksteuerung erreichen. Im Folgenden stellen wir die Methode zum Erhalten von Schlüsseln von ActionMap im Detail vor, um allen zu helfen, diese Technik besser zu verstehen und anzuwenden.
Ich möchte wissen, wie ich den Schlüsselcode von AbstractAction
in der Aktionskarte bekomme.
for (int key = 37; key <= 122; key++) { this.key = key; if(!KeyEvent.getKeyText(key).contains("Unknown keyCode")) { if(KeyInputManager.getInputManager().getOrDefault(key, null) == null) KeyInputManager.getInputManager().put(key, true); component.getActionMap().put(KeyEvent.getKeyText(key), new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { int keyCode = // TODO: GET KEY CODE HERE KeyInputManager.getInputManager().replace(keyCode, true); } }); component.getInputMap().put(KeyStroke.getKeyStroke(key, 0, false), KeyEvent.getKeyText(key)); } }
Ich versuche den Zustand aller Tasten (gedrückt oder nicht gedrückt) in HashMap
中,该KeyInputManager
是通过getInputManager
访问的。要检查是否按下了某个键,我们可以使用 KeyInputManager.getKeyDown(keyCode)
zu speichern
Dies ist der Code für KeyInputManager
public class KeyInputManager { private static final HashMap<Integer, Boolean> keysDown = new HashMap<Integer, Boolean>(); public static final boolean keyDown(int keyCode) { return keysDown.getOrDefault(keyCode, false); } public static HashMap<Integer, Boolean> getInputManager() { return keysDown; } }
Versuchen Sie Folgendes:
int keyCode = (int) e.getActionCommand().charAt(0);Der Aktionsbefehl von
ActionEvent enthält grundsätzlich den Schlüssel, und da Sie Einzelzeichenschlüssel verwenden, sollte das erste Zeichen den ganzzahligen Schlüsselcode ergeben.
Das obige ist der detaillierte Inhalt vonSo erhalten Sie den Schlüssel von ActionMap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!