学习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();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值