Домой java SWT — Как захватить событие клавиатуры

SWT — Как захватить событие клавиатуры

255
0

В SWT клавиатурное событие представлено классом KeyEvent . Мы можем использовать KeyListener для получения и обработки KeyEvent .

Класс KeyEvent имеет три поля-члена для предоставления информации о ключе, сгенерированном событием.

1) символ — отображение значения символа нажатой клавиши.
2) stateMask — проверьте, нажаты ли какие-либо другие клавиши в данный момент. (общее использование для захвата клавиш CTRL, ALT и SHIFT).
3) keyCode — отображает цифровое значение нажатой клавиши.

Мы можем прикрепить KeyListener () или KeyAdapter () к элементу управления виджетом, чтобы отслеживать событие клавиатуры.


"widget control".addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
}
});

Проверьте, нажата ли клавиша ALT в данный момент


if ((e.stateMask & SWT.ALT) != 0)

Проверьте, нажата ли клавиша BACKSPACE


if(e.keyCode == SWT.BS)

PS Пожалуйста, проверьте класс SWT для других событий клавиатуры.

Проверьте, не нажат ли какой-либо символ


if(e.keyCode >=97 && e.keyCode <=122)

Проверьте, нажата ли какая-либо цифра


if(e.keyCode >=48 && e.keyCode <=57)

Вот полный источник того, как продемонстрировать, как захватить событие клавиатуры.

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

открытый класс SWTKeyEvent
{
public static void main (String [] args) {
Дисплей дисплей = новый дисплей ();
Shell shell = новая оболочка (дисплей);
shell.setText (Пример SWT KeyEvent);

shell.setLayout (new FillLayout ());

Кнопка кнопка = новая кнопка (оболочка, SWT.CENTER);

button.setText (Введите что-то);

button.addKeyListener (новый KeyAdapter ()
{
public void keyPressed (KeyEvent e)
{
String string = ;

// проверить щелчок вместе?
if ((e.stateMask & SWT.ALT)! = 0) string + = ALT - keyCode = + e.keyCode;
if ((e.stateMask & SWT.CTRL)! = 0) string + = CTRL - keyCode = + e.keyCode;
if ((e.stateMask & SWT.SHIFT)! = 0) string + = SHIFT - keyCode = + e.keyCode;

if (e.keyCode == SWT.BS)
{
string + = BACKSPACE - keyCode = + e.keyCode;
}

if (e.keyCode == SWT.ESC)
{
string + = ESCAPE - keyCode = + e.keyCode;
}

// проверяем символы
if (e.keyCode> = 97 && e.keyCode <{+ e.character + -> = 48 && e.keyCode <= 57)
{
string + =  + e.character + - keyCode = + e.keyCode;
}

если (! String.equals ( ))
System.out.println (строка);
}
});

shell.open ();

while (! shell.isDisposed ()) {
if (! display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}

}

С.Т.

SWT — Как захватить событие клавиатуры

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  Eclipse IDE - Tomcat версии 6.0 поддерживает только веб-модули J2EE 1.2, 1.3, 1.4 и Java EE 5

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь