Re: SWT+SWING dialog's Ctrl+C被eclipse框架屏蔽
Author
Zhou Renjian
Create@
2005-10-26 22:52
发信人: 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]