我喜欢Emacs功能,可以将选择内容自动复制到剪贴板。是否可以在Eclipse上执行相同的操作?
环境:Windows XP,Helios
最佳答案
要将字符串从Eclipse复制到剪贴板,可以使用
void copyToClipboard (String toClipboard, Display display){
String toClipboard = "my String";
Clipboard clipboard = new Clipboard(display);
TextTransfer [] textTransfer = {TextTransfer.getInstance()};
clipboard.setContents(new Object [] {toClipboard}, textTransfer);
clipboard.dispose();
}
然后,您可以从
MouseAdapter
或KeyAdapter
调用此方法,具体取决于要从何处获取String。在您的情况下,它可能是MouseAdapter
,它监听双击,获取文本的当前光标位置,标记单词,然后将String添加到剪贴板。编辑以回答问题:您可以设置自己的
MouseAdapater
并将其附加到按钮,文本字段或所需的内容。这是一个按钮的示例: Button btnGo1 = new Button(parent, SWT.NONE);
btnGo1.setText("Go");
btnGo1.addMouseListener(new MouseAdapter() {
@Override
public void mouseDoubleClick(MouseEvent e) {
//do what you want to do in here
}
});
如果您也想实现mouseUp和mouseDown事件,则只需添加
MouseListener
而不是Adapter。适配器的唯一优点是,您不必重写接口的其他方法。由于最初的问题是要自动获取编辑器文本的选择:因此,从编辑器中获取选择的方法在here中进行了说明。