KeyListener Strg+s

  • Themenstarter Themenstarter BingBong
  • Beginndatum Beginndatum
B

BingBong

Gast
Hi,

Ich habe ein JFrame mit einem implementiertem KeyListener. Jetzt möchte ich abfragen, ob Strg+s gedrückt wurde. Mein Problem ist, dass das "s" zu einem  wird, wenn ich s und Strg zusammen benutze:
Java:
public void keyPressed(KeyEvent e)
			{

				System.out.println(e.isControlDown() + " " + e.getKeyChar());

				if (e.getKeyChar() == 'c' && e.isControlDown())
				{
					System.out.println("Tastenkombi");
					strg = false;

				}
			}

Wie kann ich das anders abfragen? Oder habe ich einen Fehler in meinem Code?
 
Danke. Aber wie mache ich das jetzt genau?? Ich möchte, wenn Strg+c gedrückt wurde, eine Methode aufrufen. Ich mache ja

Java:
panel.getInputMap().put(KeyStroke.getKeyStroke(c), "test");

Doch wie mache ich strg + c und nicht nur c?? Und zweitens, wie kann ich statt "test" eine Methode aufrufen??
 
Doch wie mache ich strg + c und nicht nur c?? Und zweitens, wie kann ich statt "test" eine Methode aufrufen??

Java:
		panel.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_MASK), "test");
        panel.getActionMap().put("test", new AbstractAction() {
			@Override
			public void actionPerformed(ActionEvent e) {
				foo(); 
			}
		});

test ist ja nur der key! Innerhalb der actionPerformed könntest du jetzt deine Methode aufrufen !
 

Neue Themen


Zurück
Oben