SWT之处理键盘事件的方法

SWT之处理键盘事件的方法

Color red = display.getSystemColor(SWT.COLOR_RED);
Font font = display.getSystemFont();
control.setFont(font)



Style

Description

SWT.WRAP

Wrap the text to fit the visible area

SWT.LEFT

Left-align the label

SWT.CENTER

Center-align the label

SWT.RIGHT

Right-align the label

SWT.SEPARATOR

Draw a separator instead of text or an image

SWT.HORIZONTAL

Draw the separator horizontally

SWT.VERTICAL

Draw the separator vertically

SWT.SHADOW_IN

Draw the separator with a "shadow in" effect

SWT.SHADOW_OUT`

Draw the separator

Separators

键盘事件类型

SWT.KeyDown

A key was pressed

SWT.KeyUp

A key was released


KeyEvent

KeyListener (and KeyAdapter)

keyPressed(KeyEvent)

keyReleased(KeyEvent)



关于event中的character特殊键值

SWT.BS

退回 ('/b')

SWT.CR

回车 ('/r')

SWT.DEL

删除 ('/u007F')

SWT.ESC

ESC ('/u001B')

SWT.LF

换行 ('/n')

SWT.TAB

TAB跳格 ('/t')


SWT.CONTROL

<Ctrl>同 SWT.CTRL

SWT.SHIFT

<Shift>

SWT.ALT

<Alt>



以下代码来自摘录
Listener listener = new Listener() {
public void handleEvent(Event event) {
String string =
event.type == SWT.KeyDown ? "DOWN": "UP ";
if ((event.stateMask & SWT.CTRL) != 0)
string += " CTRL";
if ((event.stateMask & SWT.ALT) != 0)
string += " ALT";
if ((event.stateMask & SWT.SHIFT) != 0)
string += " SHIFT";

switch (event.character) {

case 0: string += " '//0'"; break;

case SWT.BS: string += " '//b'"; break;

case SWT.CR: string += " '//r'"; break;

case SWT.DEL: string += " DEL"; break;

case SWT.ESC: string += " ESC"; break;

case SWT.LF: string += " '//n'"; break;

case SWT.TAB: string += " '//t'";

break;

default:

string += " '" + event.character + "'";

break;

}


text.addListener(SWT.Modify, new Listener() {

public void handleEvent(Event e) {

modified[0] = true;

}

});

final ProgressBar bar =new ProgressBar(shell,SWT.NONE);

bar.setSize(200, 32);
new Thread() {

public void run() {

for (int i = 0; i <= maximum; i++) {

try {

Thread.sleep(100);

} catch (Throwable th) {

}

final int index = i;

display.asyncExec(new Runnable() {

public void run() {

bar.setSelection(index);

}

});

}

}

}.start();