KeyListener

Tagamoga

Mitglied
Wieder mal ich...

also ich benutzte Eclipse Ganymede, ein RCP-Project mit SWT.Widgets.

Ich versuche über einen LeyLIstener (Strg+V) abzufangen und habe es so versucht:
Code:
myText.addKeyListener(new KeyListener()
{
	public void keyPressed(KeyEvent e) 
	{
		if (e.character == 'V' || e.character == 'v')
		{
			if (e.stateMask == SWT.CTRL)
			{
				System.out.println("Hab ich Dich!");
			}
		}
	}
}

Doch der mag nicht... den "Strg" fängt er ab, aber nicht mehr das V. Wie muss ich das umschreiben?

Grüße, Taggi
 
Moin,

hab zwar keine Ahnung von SWT, aber das müsste wohl eher so aussehen

Java:
myText.addKeyListener(new KeyListener()
{
	public void keyPressed(KeyEvent e) 
	{
		if ((e.stateMask == SWT.CTRL) && (e.getKeyCode() == KeyEvent.VK_V))
		{
			System.out.println("Hab ich Dich!");			
		}
	}
}

Gruß,
Xan
 
Leider ist weder "getKeyCode() " noch "KeyEvent.VK_V" unter SWT vorhanden...


Aber habs in das Äquivalent umgebaut:

Code:
myText.addKeyListener(new KeyListener()
{
	public void keyPressed(KeyEvent e) 
	{
		if ((e.stateMask == SWT.CTRL) && (e.keyCode == 118))
		{
			System.out.println("Hab ich Dich!");
		}
	}
}

Leider das selbe verhalten... nüxsch...
 
Vielen Dank für den Link, aber die 1. Lösung, die dort vorgestellt wird, bezieht sich nicht auf SWT.Widgets und die zweite Lösung ist ja die, die ich schon habe.

Nur das komische ist, dass eben diese nicht bei "strg+V", "Strg+C" funktioniert aber bei sachen, wie "strg+U" oder "Alt+u". Und ich verstehe einfach nicht warum. bzw. ich weiß nicht, wie ich sie ummodeln muss, damit ich das endlich abfangen kann.

Grüße, Taggi
 
Zurück