在SWT小部件上“粘贴”侦听器

时间:2010-05-31 15:53:43

标签: eclipse swt

我有一个带有SWT小部件的应用程序,例如org.eclipse.swt.widgets.Text,并且想要为粘贴功能添加一些控件。

这个想法是,如果用户可以粘贴一串ID,我会检测到,运行一些代码并粘贴与ID对应的对象。

所以我正在寻找某种类型的“ClipBoardListener”来添加到我的小部件,但这似乎并不存在。一个keylistener只能捕获按键完成的粘贴,然后你必须处理不同的关键组合以便在不同的操作系统中粘贴。

基于this java 1.2 question我尝试了对文本类进行子类化并覆盖inser方法,但是没有用

Exception in thread "main" org.eclipse.swt.SWTException: Subclassing not allowed

无论如何看起来像一个丑陋的解决方案。

2 个答案:

答案 0 :(得分:3)

Fredrik,处理ModifyListner无法解决您的问题,因为每次输入内容时都会调用它。我相信你有兴趣只处理“PASTE”事件。与在ModifyListner中一样,您不会知道是否由于某人通过“PASTE”事件实际输入了数据或数据而触发了此事件(此粘贴可以是CTRL-V,上下文菜单“粘贴”操作或其他特定于OS的操作)

答案 1 :(得分:1)

你可以听一个ModifyListener。它不区分键入的文本和粘贴的文本,但根据您想要做的事情,它可能也有效。