当代汉语出版物中最常见的100个别字 >>
<< 《台湾往事》的一句话
Re: SWT+SWING dialog's Ctrl+C被eclipse框架屏蔽

Author Zhou Renjian Create@ 2005-10-26 22:52
whizz Note icon
发信人: enykee (社会是最大的算法), 信区: Eclipse
标  题: Re: SWT+SWING dialog's Ctrl+C被eclipse框架屏蔽
发信站: 饮水思源 (2005年10月25日11:36:11 星期二), 站内信件

找到答案了,只要在弹出带有Swing控件的对话框前把workbench的key filter disable
掉,对话框结束后再恢复就可以了。

...
        jzDialog = new JzSWTJFaceDialog(shell, new
SwingDialogAdapter(dialog));

JzPlugin.getActiveWindow().getWorkbench().getContextSupport().setKeyFilte
rEnabled(false);
        int rslt = jzDialog.open();

JzPlugin.getActiveWindow().getWorkbench().getContextSupport().setKeyFilte
rEnabled(true);
...

 【 在 enykee ( 社会是最大的算法) 的大作中提到: 】
: 使用SWT/JFace的Dialog封装Swing的Component,在命令行下单独运行,Ctrl+C等热键能
: 够被Swing的控件获取,在Eclipse3.0.0框架下弹出Dialog,则Ctrl+C/V/A不能够传入到
: Swing Component中,但是Ctrl+Z依旧能够传入;改用3.0.2&3.1.1发现,Ctrl+V/X能够
: 传入,但是Ctrl+C/A不能传入。另外在同一个Dialog中的SWT Text控件能够正确接到Ctrl
: +C/A事件。
: 查了一下bugs,没发现对应的描述,只有一个bug说到ActionHandler的注册及其状态会
: 导致热键被屏蔽的问题,但是具体从哪点入手尚未清楚。
: 各位有没有碰到类似情况,指点讨论一下。
--

※ 来源:?饮水思源 bbs.sjtu.edu.cn?[FROM: 61.152.125.108]

本记录所在类别:
本记录相关记录: